Android警报调度高效

时间:2017-06-22 09:20:42

标签: android alarmmanager

我希望调度程序警报应该在给定时间内每天触发。它们应该100%一致。目前我正在使用

 AlamManager.setInexactRepeating

它工作一天但不是第二天,而且它本身又开始了另一天,我的意思是它不一致。

那么我应该在Android AlarmManager中使用哪个触发器必须每天触发并且应该有效?

1 个答案:

答案 0 :(得分:1)

此代码将在每天下午1点或2点运行Intent。希望对你有帮助。

Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 13); // For 1 PM or 2 PM
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
PendingIntent pi = PendingIntent.getService(context, 0,
        new Intent(context, MyClass.class),PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
am.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),
                            AlarmManager.INTERVAL_DAY, pi);