Никакие сервисы не работают на One plus 5T OS android OS 9.0

Я создал приложение для получения латлонных пользователей и отправки их на сервер. Итак, теперь мы создали службы переднего плана для получения местоположения ПОЛЬЗОВАТЕЛЯ и отлично работают на всех других устройствах, включая ОС Android 9.0.

Но на конкретном устройстве OnePlus 5T Android 9.0 служба переднего плана перестает работать, когда устройство заблокировано, и служба также прекращается через час, даже после того, как мы отключили там опцию глубокой очистки.

Пожалуйста, дайте нам знать, если есть что-то с конфигурацией конкретного устройства, которую нам нужно изменить для непрерывной работы службы переднего плана.


person Kishan sharma    schedule 08.02.2019    source источник
comment
У меня тоже точно такая же проблема. Не работает на One plus, но работает на других устройствах. если кто-то нашел решения, пожалуйста, предложите.   -  person Topsy    schedule 08.02.2019
comment
посмотрите, поможет ли это stackoverflow.com/questions/54399485/ , не так много   -  person Manohar    schedule 08.02.2019
comment
Если на устройстве есть функция глубокой очистки (например, то, что я вижу на китайских устройствах Blackview), тогда у него должна быть возможность поместить приложение в его белый список. Я не думаю, что производитель может подчиниться принудительному уничтожению всех приложений при выключении экрана, поэтому это должен быть способ отключить это поведение для каждого приложения или, по крайней мере, для каждой системы.   -  person emandt    schedule 08.02.2019


Ответы (1)


Причина этого - Alarm manager не звонит вовремя, даже если вы используете setAndAllowWhileIdle() или setExactAndAllowWhileIdle(), это не сработает, и ожидающее намерение также будет уничтожено. В системе выполняются только задачи с высоким приоритетом, такие как push-уведомление FCM.

Итак, решение, которое я нашел, заключается в следующем: внедрите push-уведомление в приложение для Android и отправьте сообщение с данными через push-уведомление и запустите службу из

public void onMessageReceived(RemoteMessage remoteMessage) { 
          //start your service from this method
}

примечание: - Убедитесь, что кнопка принудительной остановки этого приложения включена или отключена, если она отключена, что означает, что система полностью убила ваше приложение.

режим ожидания Android и режим ожидания

person Ronil Raut    schedule 08.02.2019