Это сложная проблема. У меня есть приложение, которое собирает данные GPS
в фоновом режиме (с помощью службы переднего плана). Кроме того, я установил 3 будильника, которые должны работать в течение нескольких часов. Все это делается при наличии установленного MDM
в устройстве (SOTI, если это поможет).
Что ж, когда приложение находится на переднем плане, проблем нет, GPS
данные собираются правильно, и сигналы тревоги срабатывают, когда это необходимо. Проблема в том, что когда я блокирую устройство или экран гаснет. Обычно он собирает еще GPS
данных, и через несколько минут приложение и служба переднего плана будут убиты, несмотря ни на что.
Устройство определенно не нуждается в ресурсах, так как это единственное приложение, которое разрешено MDM
, и ошибки нет, так как я внедрил крашлитику, и она ничего не дает.
Для справки, поскольку я не могу публиковать много кода, я запускаю службу переднего плана, как и предполагалось (с startForegroundService
), и вызываю startForeground в методе onCreate()
службы. Так же у меня есть вейклок в сервисе, но это совсем не помогло.
Будильники устанавливаются с помощью alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, startDate, period, pendingIntent
), но когда приложение находится в фоновом режиме, они не срабатывают. Когда я снова запускаю приложение, они сбрасываются и срабатывают.
Любая подсказка, почему мое приложение убито? Устройство, которое я использую, это Huawei Y6
, если оно чем-то поможет. Я уже проверил эту ссылку и сделал все возможное, чтобы не убить мое приложение, но я неуспешный. Кроме того, я проверил, что служба переднего плана сбрасывает информацию о телефоне, и служба помечена как служба переднего плана, как и должно быть, с номером приоритета 4 (время, когда я проверял), поэтому ее не следует убивать...
Спасибо в плюс!