Событие жизненного цикла для убитого вручную приложения пользователем в Android - PullRequest
0 голосов
/ 12 марта 2019

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

  1. * 1004 на первом плане *
  2. Фон

И в третьем случае приложение может вообще не работать. Я выполнил поиск и обнаружил, что если я использую приведенный ниже код, я могу проверить, работает ли приложение «Погода». Код ниже которого я использовал

 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 вызывает Процесс приложения в живых. У меня вопрос: если это так, как я могу проверить, не работает ли приложение вообще после ручного уничтожения пользователем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...