Dies ist das erste Mal, dass ich AlarmReciever
verwenden. Dies ist ein Teil des Dienstes:Alarmmanager Brände nach unterschiedlichen Zeiten auf verschiedenen API
//Service
this.context=this;
Intent alarm = new Intent(this.context,AlarmReceiver.class);
boolean alarmRunning =(PendingIntent.getBroadcast(this.context,0, alarm,PendingIntent.FLAG_NO_CREATE) != null);
if(alarmRunning == false){
PendingIntent pendingIntent = PendingIntent.getBroadcast(this.context,0,alarm,0);
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime(),15000,pendingIntent);
}
Ich dachte, dass 15000 in alarmManager.setRepeating
bedeutet 15 Sekunden. Auf meinem S4 Mini mit API 19 ist es richtig. Aber mit meiner S7 mit API 23 wird der Alarm jede Minute ausgelöst. Weiß jemand das Problem dafür?
Hier ist mein Log:
08-15 10:54:15.949 11495-11522/com.example.entwicklung1.designtestapp D/BackgroundRunning::
08-15 10:55:15.619 11495-12452/com.example.entwicklung1.designtestapp D/BackgroundRunning::
08-15 10:56:15.619 11495-13407/com.example.entwicklung1.designtestapp D/BackgroundRunning::
08-15 10:57:15.629 11495-14288/com.example.entwicklung1.designtestapp D/BackgroundRunning::
08-15 10:58:15.629 11495-15193/com.example.entwicklung1.designtestapp D/BackgroundRunning::
08-15 11:00:00.039 11495-16907/com.example.entwicklung1.designtestapp D/BackgroundRunning::
08-15 11:00:15.599 11495-17149/com.example.entwicklung1.designtestapp D/BackgroundRunning::
08-15 11:01:15.619 11495-18085/com.example.entwicklung1.designtestapp D/BackgroundRunning::
08-15 11:02:15.659 11495-19040/com.example.entwicklung1.designtestapp D/BackgroundRunning::
08-15 11:03:58.049 11495-19601/com.example.entwicklung1.designtestapp D/BackgroundRunning::
08-15 11:06:11.419 11495-19878/com.example.entwicklung1.designtestapp D/BackgroundRunning::
08-15 11:11:11.349 11495-24547/com.example.entwicklung1.designtestapp D/BackgroundRunning::
08-15 11:16:11.449 11495-29123/com.example.entwicklung1.designtestapp D/BackgroundRunning::
Wie ich sehe, es feuert nun alle paar Minuten.
Vielen Dank. Also sollte ich Ihren Code oben anstelle von alarmManager.setRepeating ... verwenden? – Koss
Ja, kopieren Sie genau diesen Code, warten Sie, ich werde es ändern, so dass Sie nur kopieren können und nicht zu Ihrem Code ändern müssen. –
Mein Vergnügen, und bitte akzeptieren Sie die Antwort und stimmen Sie ab, wenn es funktioniert. :)) –