如果Google提供了setExactRepeating()
方法,它可能會解決您的問題。 (這是一個笑話)
現在,你必須自己重新安排鬧鐘。
使用setExact()
方法來調度的第一次報警,例如:
alarmManager.setExact(AlarmManager.RTC_WAKEUP,triggerAtMillis,的PendingIntent);
重新安排你的廣播接收器的onReceiver()
報警,重複時間是每天(AlarmManager.INTERVAL_DAY
在下面的代碼):
公共無效的onReceive(上下文語境,意圖意圖){
Context danielContext = MonitorApp.getContext();
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent i = new Intent(context, ReceiverName.class);//put your own ReceiverName
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, i, 0);
alarmManager.setExact(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + AlarmManager.INTERVAL_DAY, pendingIntent);
}
當然,做一些在onReceiver()
方法來實現你的目標。
你究竟想要做什麼?似乎他們對如何做事情給出了一個非常直接的解釋? – ianhanniballake
我有一個任務在準確的時間運行。 Alarmmanager setRepeating用於爲此作業正常工作。現在自從API 19及以上版本以來,由於它們在運行之前將警報分組在一起,它可以運行得非常晚。 setExact會做這項工作,但我需要這個重複的版本。例如,我有一個每5分鐘運行一次任務的服務。 – zeroprobe