Hi Mark,
I also need to develop same kind of functionality. I need to repeat my
alarm on every Monday at 09:00AM. I used the following code for that but I
am unable to repeat the alarms. Can you please help me that where I am
making mistake.
*Activity :-*
public class AndroidScheduledActivity extends Activity {
/** Called when the activity is first created. */
int id = 115;
Intent myIntent;
PendingIntent pendingIntent;
AlarmManager alarmManager;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button buttonStart = (Button)findViewById(R.id.start);
myIntent = new Intent(getBaseContext(), MyScheduledReceiver.class);
myIntent.putExtra("id", id);
pendingIntent = PendingIntent.getBroadcast(getBaseContext(), id,
myIntent, 0);
alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
buttonStart.setOnClickListener(new Button.OnClickListener(){
public void onClick(View arg0) {
// TODO Auto-generated method stub
setForMonday();
finish();
}});
}
public void setForMonday() {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_WEEK,2);
calendar.set(Calendar.HOUR,09);
calendar.set(Calendar.MINUTE, 00);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
System.out.println("Old is set@ :== " + calendar.getTime());
long interval = calendar.getTimeInMillis() + 604800000L;
System.out.println("Next Millis = " + interval);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,
calendar.getTimeInMillis(), interval, pendingIntent);
}
}
*Receiver :-*
public class MyScheduledReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
System.out.println("Receiver");
}
}
On Friday, 5 March 2010 00:36:31 UTC+5:30, Mark Murphy wrote:
>
> Open wrote:
> > Can someone get me started on how to set a repeating alarm so that it
> > fires at a specific time on a specific day of the week. For example,
> > I would like an alarm to trigger an intent every Monday at 8am.
> >
> > Looks like a lot of apps do this (e.g., Locale, Alarm Clock, etc.)
>
> Step #1: Figure out the time you want the alarm to next be fired, in
> milliseconds since the epoch (i.e., System.currentTimeMillis() timebase)
>
> Step #2: Figure out the period in between the alarms in milliseconds
>
> Step #3: Use AlarmManager to register a RTC or RTC_WAKEUP alarm that
> will issue a PendingIntent using those two values
>
> --
> Mark Murphy (a Commons Guy)
> http://commonsware.com | http://twitter.com/commonsguy
>
> _Android Programming Tutorials_ Version 2.0 Available!
>
>
--
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