2017-06-22 48 views
0

我想调度报警,应该在给定的时间每天触发报警。他们应该100%一致。目前我使用Android报警调度高效

AlamManager.setInexactRepeating 

,它工作了一天,但不是第二天本身开始新的一天,我的意思是它并不一致。

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

+0

这里是我的一个应用程序,它允许用户选择像回文时间(10:01)和这种奇怪的事情一些“特殊时期”的通知。我使用了AlarmManager,请查看:https://github.com/magicleon94/SpasmoTime/tree/master/app/src/main/java/com/tomorrow/magicleon/spasmotime 在'updateAlarmService'中有一个'addAlarmFor '注册每日重复报警的指定时间 – magicleon

+0

好吧,我会检查它 – Danish

+0

请注意,代码是非常类似于下面发布的答案 – magicleon

回答

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