У опредленного устройства Android - не правильно работает AlarmManager

Я устанавливаю AlarmManager на 1 минуту, но на одном из устройств - BroadcastReceiver срабатывает только при открытии приложения (пока оно выключено, ничего не запускается).

Как можно решить эту проблему?

AndroidManifest.xml:

<receiver
                android:name=".MyBroadcastReceiver"
                android:exported="false"
                android:process=":remote"/>

BroadcastReceiver.kt:

class MyBroadcastReceiver: BroadcastReceiver() {
    override fun onReceive(context: Context?, intent: Intent?) {
        if(context == null) return

        pushNotification(context) // показывает уведомление (Notification)
        startAlarmTask(context) // заново запускаем AlarmManager
    }

    private fun startAlarmTask(context: Context) {
        val alarmIntent =
            Intent(context, MyBroadcastReceiver::class.java).let { intent ->
                PendingIntent.getBroadcast(
                    context,
                    0,
                    intent,
                    0
                )
            }
        val alarmMgr = context.getSystemService(Context.ALARM_SERVICE) as AlarmManager
        alarmMgr.setExact(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + (1000 * 60), alarmIntent)
    }
}

P.S. Код первинного запуска AlarmManager аналогичен с функцией startAlarmTask() выше.


Ответы (0 шт):