Вот ситуация, в которой я застрял. Я хочу знать, доступен ли какой-либо обратный вызов, если пользователь вручную убивает приложение (например, методы жизненного цикла активности). В основном, я хочу знать, работает приложение или нет. В рабочем случае приложение может иметь 2 случая
- * 1004 на первом плане *
- Фон
И в третьем случае приложение может вообще не работать. Я выполнил поиск и обнаружил, что если я использую приведенный ниже код, я могу проверить, работает ли приложение «Погода». Код ниже которого я использовал
ActivityManager activityManager = (ActivityManager)
context.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> runningApps = activityManager.getRunningAppProcesses();
if (runningApps != null) {
for (ActivityManager.RunningAppProcessInfo processInfo : runningApps) {
if (processInfo.processName.equals(context.getPackageName())) {
return true;
}
}
}
Возвращается значение true, если приложение работает (передний план и фон). И это ожидаемо, но проблема в том, что когда приложение не работает в фоновом режиме (приложение вручную убивается пользователем) не работает вообще, оно также возвращает true.
Во что я верю, это происходит потому, что я пользуюсь форвардным сервисом. Погода приложение убито, но служба приложения все еще работает, поэтому упомянутый код возвращает true. Я думаю, что запуск службы forground вызывает Процесс приложения в живых.
У меня вопрос: если это так, как я могу проверить, не работает ли приложение вообще после ручного уничтожения пользователем.