目前我正在开发 Android 中的BroadcastReceiver、Service 和 AlarmManager,以在我的项目中开发一项功能。我需要在特定日期的特定时间安排一些任务。
例如:-
星期一 - 上午 9:00 和下午 05:00
星期二 - 上午 9:00 和下午 05:00
星期三 - 上午 9:00 和下午 05:00
星期四 - 上午 9:00 和下午 05:00
周五 - 上午 09:00 和下午 05:00
周六 - 上午 10:00 和晚上 10:00
周日 - 上午 10:00 和晚上 10:00
到目前为止,我所做的是创建了一个活动和广播接收器。点击按钮后,每 60 秒广播接收器将被调用。这是我的代码片段。但是我想根据我上面描述的那一周来安排我的任务。任何人都可以请帮助我如何安排上述任务。
代码 :-
public class AlarmDemoActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button buttonStart = (Button)findViewById(R.id.start);
buttonStart.setOnClickListener(new Button.OnClickListener(){
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent myIntent = new Intent(getBaseContext(),
MyScheduledReceiver.class);
PendingIntent pendingIntent
= PendingIntent.getBroadcast(getBaseContext(),
0, myIntent, 0);
AlarmManager alarmManager
= (AlarmManager)getSystemService(ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.add(Calendar.SECOND, 10);
long interval = 60 * 1000; //
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,
calendar.getTimeInMillis(), interval, pendingIntent);
finish();
}});
}
}
广播接收器:-
public class MyScheduledReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
/*Intent scheduledIntent = new Intent(context, MyScheduledActivity.class);
scheduledIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(scheduledIntent);*/
System.out.println("Make Phone Silent");
}
}
欢迎所有建议和提示。