在Android usig AlarmManager / BroadcastReceiver中每周一重复警报

我想在每个星期一上午9点​​重复我的任务. 05:00 PM我使用了以下代码,但我无法重复任务.

活动代码: –

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);
    }
}

注意: – 我根据86400000 * 7 = 604800000计算了间隔;

接收人: –

public class MyScheduledReceiver extends broadcastReceiver {

    @Override
    public void onReceive(Context context,Intent intent) {
        // Todo Auto-generated method stub

        System.out.println("Receiver");
    }

}

如果有人有任何想法请帮助.谢谢

解决方法

删除区间变量并使用以下代码替换它.
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,AlarmManager.INTERVAL_DAY * 7,pendingIntent);

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...