Это первый раз, когда я использую AlarmReciever
. Это часть службы:AlarmManager срабатывает после разного времени на разных 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);
}
Я думал, что 15000 в alarmManager.setRepeating
означает 15 секунд. На моем S4 mini с API 19 это правильно. Но с моим S7 с API 23 тревога срабатывает каждую минуту. Кто-нибудь знает проблему для этого?
Вот мой 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::
Как я вижу, что пожары в настоящее время каждые несколько минут.
Большое спасибо. Так что я должен использовать ваш код выше, а не alarmManager.setRepeating ...? – Koss
Да, просто скопируйте этот точный код, подождите, пока я его изменю, чтобы вы могли просто скопировать и не нужно изменять код. –
Мое удовольствие, и, пожалуйста, принимайте ответ и голосуйте, если он сработает. :)) –