У меня есть WakefulBroadcastReceiver
с IntentService
, каждые полчаса тревоги вызываются и делают некоторые вещи. Я уже обрабатываю режим setExactAndAllowWhileIdle()
с setExactAndAllowWhileIdle()
метода setExactAndAllowWhileIdle()
.
Некоторые новые смартфоны с настраиваемыми os, недавно запущенными на рынке, имеют собственные настройки os на основе android os. Как oppo с цветом os, vivo с funtouch os, xiomi с MIUI os. В ОС есть функция для очистки памяти. У них есть опция с одним касанием. Например, если пользователь очистит недавний список приложений или удалит приложение из всех последних приложений приложения списка приложений, а также все аварийные сигналы будут убиты.
Как работать с этими новыми ОС?
Для телефонов MIUI вам необходимо отключить режим энергосбережения, тогда ваше приложение может работать в фоновом режиме.
Процедура : выберите «Настройки» -> « Аккумулятор» – « Управление потреблением батареи приложения» -> Нажмите « Отключить» или « Выберите приложение».
Программно :
Intent intent = new Intent(); intent.setClassName("com.miui.powerkeeper", "com.miui.powerkeeper.ui.HiddenAppsContainerManagementActivity"); startActivity(intent);
Для устройств Oppo выполните следующие действия:
Программно :
Intent intent = new Intent(); intent.setClassName("com.coloros.oppoguardelf", "com.coloros.powermanager.fuelgaue.PowerConsumptionActivity"); startActivity(intent);
Программно :
Intent intent = new Intent(); intent.setClassName("com.coloros.safecenter", "com.coloros.safecenter.permission.startup.StartupAppListActivity"); startActivity(intent);
Это сработало для меня, надеюсь, это тоже сработает для вас 🙂
В случаях, когда ваше приложение убито из-за его удаления из списка последних приложений, вы можете переопределить android.app.Service.onTaskRemoved()
чтобы запланировать перезапуск приложения или подобное.
Во всех других случаях, когда пользователь явно предпринимает действия, чтобы убить ваше приложение (например, сделать «принудительное прекращение» из настроек), так и должно быть. Не пытайтесь обойти это. Пользователь хочет убить ваше приложение. Пусть он умрет и восстановит функциональность при следующем запуске приложения пользователем.