My Alarm Manager не работает в фоновом режиме - PullRequest
1 голос
/ 01 августа 2020

Я подготовил для своего приложения аварийный менеджер. Мне нужно запускать это каждый час и проверять, изменились ли данные.

Я установил диспетчер сигналов тревоги следующим образом:

 Calendar cal = Calendar.getInstance();
    cal.add(Calendar.HOUR, 1);
    android.app.AlarmManager alarmMgr = (android.app.AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE);
    Intent intent = new Intent(mContext, AnalysisNotificationReceiver.class);
    PendingIntent pendingIntent = PendingIntent.getBroadcast(mContext, ALARM_ID, intent, 0);
    if (Calendar.getInstance().after(cal)) {
        cal.add(Calendar.DAY_OF_MONTH, 1);
    }
    alarmMgr.setRepeating(android.app.AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), 60 * 60 * 1000, pendingIntent);

Он должен работать каждые 60 минут Я не уверен, правильно ли я установил, но не работает при закрытии приложения.

У кого-нибудь есть идея? Спасибо

1 Ответ

1 голос
/ 02 августа 2020

Можете попробовать, у меня сработало

AlarmManager alarmManager= (AlarmManager) getSystemService(Context.ALARM_SERVICE);

Intent scheduleServiceExecuterIntent = new Intent(this, ScheduledServiceExecuter.class);

scheduleServiceExecuterIntent.putExtra("state", "Main");
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, request_code, intent, 0);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, time, AlarmManager.INTERVAL_HOUR, pendingIntent);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...