私は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で書かれており、19
はあなたの助けをありがとうAPIとの電話でテストされています!
これは本当に何もしていないようでした。私のAlarmManagerはまだ発砲していません。 AlarmManagerの使い方を誤解していますか?私は 'timeBetweeninMillis'ミリ秒が経過した後、上記のコードが起動するはずです。また、ManagerService.serviceRunningはコードの実行を妨げていません。 –
私の編集を参照してください、答えは – marmor
でしょう。 '.setExactAndAllowWhileIdle'を使わないでこれを修正する方法はありますか?その関数はAPI 23を必要とし、API 19を使用しています –