【问题标题】:Repeat alarm everyday at specific time (Alarm manager)每天在特定时间重复警报(警报管理器)
【发布时间】:2013-07-26 15:20:26
【问题描述】:

您好,我希望我的应用程序在每天的特定时间运行。为此,我使用下面的代码。但它只运行一次。这里的错误是什么,我该如何完成这项任务。

AlarmManager alarmMgr0 = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
Intent intent0 = new Intent(this, ActivityStarter.class);
PendingIntent pendingIntent0 = PendingIntent.getBroadcast(this, 0, intent0, 0);
Calendar timeOff9 = Calendar.getInstance();
timeOff9.set(Calendar.HOUR_OF_DAY, 16);
timeOff9.set(Calendar.MINUTE, 13);
timeOff9.set(Calendar.SECOND, 0);
alarmMgr0.setRepeating(AlarmManager.RTC_WAKEUP, timeOff9.getTimeInMillis(),24*60*60*1000,pendingIntent0);

请帮忙。

【问题讨论】:

    标签: android android-alarms


    【解决方案1】:

    试试这个

     alarmMgr0 .setInexactRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
            SystemClock.elapsedRealtime() + AlarmManager.INTERVAL_DAY,
            AlarmManager.INTERVAL_DAY, intent);
    

    参考this

    【讨论】:

    • 你的答案和这个有什么区别:mgr.setInexactRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pi);