我想設置一個警報,以檢查服務器是否在每天上午7點,上午12點和下午10點獲取新數據。
我試着這樣說:如何設置鬧鐘每天重複3次?
public void startAlarm(Context context) {
AlarmManager alarmMgr = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context, ShowNotificationReceiver.class);
PendingIntent alarmIntent = PendingIntent.getBroadcast(context, REQUEST_CODE, intent, PendingIntent.FLAG_CANCEL_CURRENT);
Calendar firstTurn = Calendar.getInstance();
Calendar secondTurn = Calendar.getInstance();
Calendar thirdTurn = Calendar.getInstance();
// set times
firstTurn.set(Calendar.HOUR_OF_DAY,FIRST_TURN_HOUR);
firstTurn.set(Calendar.MINUTE,FIRST_TURN_MINUTE);
secondTurn.set(Calendar.HOUR_OF_DAY,SECOND_TURN_HOUR);
secondTurn.set(Calendar.MINUTE,SECOND_TURN_MINUTE);
thirdTurn.set(Calendar.HOUR_OF_DAY,THIRD_TURN_HOUR);
thirdTurn.set(Calendar.MINUTE,THIRD_TURN_MINUTE);
alarmMgr.cancel(alarmIntent);
alarmMgr.setInexactRepeating(AlarmManager.RTC_WAKEUP, firstTurn.getTimeInMillis(), AlarmManager.INTERVAL_DAY, alarmIntent);
alarmMgr.setInexactRepeating(AlarmManager.RTC_WAKEUP, secondTurn.getTimeInMillis(), AlarmManager.INTERVAL_DAY, alarmIntent);
alarmMgr.setInexactRepeating(AlarmManager.RTC_WAKEUP, thirdTurn.getTimeInMillis(), AlarmManager.INTERVAL_DAY, alarmIntent);
}
如果我在時間的正常工作和消防評論2的最後一行,但它不工作,如果我想所有的人。
我的錯誤在哪裏,我該如何解決這個問題?
爲什麼必須在特定的時間開除?您可以將鬧鈴設置爲每8小時觸發一次,相當於每天3次 –
我想說,使用相同的未決意圖會導致它「覆蓋」之前的設置;但我找不到支持該ATM的文檔。我會嘗試創建新的等待意圖w /不同的'REQUEST_CODE'值,看看是否有效。 – Nija
此時用戶看到此消息很重要,那些時間我說的是示例,可能將來會更改 –