Have you heard of AlarmManager?

http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/app/AlarmService.html

http://developer.android.com/reference/android/app/AlarmManager.html

Kris

On Fri, Jan 6, 2012 at 1:38 PM, Diego Tori
<[email protected]> wrote:
> After reading lots of sample code into this matter, I'm trying to
> figure out the simplest way to achieve the following:
>
> I want to be able to schedule an Intent that calls back to my Alarm
> BroadcastReceiver, which in turn fires off my Service. However, I want
> to set up so that it calls said Intent twice a day and to only
> schedule the alarms if they haven't already been set (likewise for
> canceling the alarms).
>
> However, I am unsure if the following code is the correct way to set
> and cancel alarms.
>
>    //Static function for setting the alarm
>    //My midday calendar object (cal1)
>
>    ...
>
>    //My evening calendar object (cal2)
>
>    Intent myIntent = new Intent(context, MyAlarmReceiver.class);
>
>        PendingIntent firstCallIntent =
> PendingIntent.getBroadcast(context, FIRST_CALL_ID, myIntent,
> PendingIntent.FLAG_NO_CREATE);
>        PendingIntent secondCallIntent=
> PendingIntent.getBroadcast(context, SECOND_CALL_ID, myIntent,
> PendingIntent.FLAG_NO_CREATE);
>        if(firstCallIntent != null){
>                if(DEBUG){
>                        Log.d(TAG, "Setting Midday Alarm");
>                }
>                firstCallIntent = PendingIntent.getBroadcast(context,
> FIRST_CALL_ID, myIntent, 0);
>                alarms.setInexactRepeating(AlarmManager.RTC_WAKEUP,
> cal1.getTimeInMillis(), AlarmManager.INTERVAL_DAY, firstCallIntent);
>        }
>        if(secondCallIntent != null){
>                if(DEBUG){
>                        Log.d(TAG, "Setting Evening Alarm");
>                }
>                secondCallIntent = PendingIntent.getBroadcast(context,
> SECOND_CALL_ID, myIntent, 0);
>            alarms.setInexactRepeating(AlarmManager.RTC_WAKEUP,
> cal2.getTimeInMillis(), AlarmManager.INTERVAL_DAY, secondCallIntent);
>        }
>
>
>    //Static call to cancel the alarm.
>
>    Intent myIntent = new Intent(context, MyAlarmReceiver.class);
>    PendingIntent firstCallIntent =
> PendingIntent.getBroadcast(context, FIRST_CALL_ID, myIntent, 0);
>    alarms.cancel(firstCallIntent);
>    firstCallIntent.cancel();
>    PendingIntent secondCallIntent =
> PendingIntent.getBroadcast(context, SECOND_CALL_ID, myIntent, 0);
>    alarms.cancel(secondCallIntent);
>    secondCallIntent.cancel();
>
> --
> You received this message because you are subscribed to the Google
> Groups "Android Developers" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/android-developers?hl=en

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to