我正在研究一個涉及AlarmManager的應用程序,我似乎無法啓動它。我最初使用的是Handler,但是我切換到了AlarmManager,這樣我就可以將手機從睡夢中喚醒。AlarmManager不定時觸發
這是我到目前爲止有:
int timeBetweeninMillis = 3 * 60000;
if (ManagerService.serviceRunning) {
Intent alarmIntent = new Intent(AlarmReceiver.ACTION_RECEIVE);
PendingIntent alarmPendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 400, alarmIntent, PendingIntent.FLAG_UPDATE_CURRENT);
mAlarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, (SystemClock.elapsedRealtime() + timeBetweeninMillis), alarmPendingIntent);
}
的AlarmManager要麼將不會觸發或極晚期(後像10分鐘),將閃光。
的應用程序是用與API 16和在手機上正在測試用API 19
謝謝您的幫助!
這確實似乎沒有做任何事情。我的AlarmManager仍然沒有開火。我誤解了如何使用AlarmManager?在'timeBetweeninMillis'毫秒過去之後,我的印象是上面的代碼應該觸發。另外,ManagerService.serviceRunning不會阻止代碼的運行。 –
看到我的編輯,可能是答案 – marmor
有沒有辦法解決這個問題,而不使用'.setExactAndAllowWhileIdle'?該功能需要API 23,我正在使用API 19 –