Как определить разницу между приложением в фоновом режиме и приложением, закрытым в Android? - PullRequest
0 голосов
/ 13 сентября 2011

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

private boolean isActivityRunning(){
    ActivityManager activityManager = (ActivityManager) this.getSystemService( ACTIVITY_SERVICE );
    List<RunningAppProcessInfo> procInfos = activityManager.getRunningAppProcesses();
    for(int i = 0; i < procInfos.size(); i++){
        Log.d(TAG, "Polling Serivce at application " +procInfos.get(i).processName);
        if(procInfos.get(i).processName.equals(appLaunchedPackage)&&
            (procInfos.get(i).importance ==RunningAppProcessInfo.IMPORTANCE_VISIBLE || 
                    procInfos.get(i).importance ==RunningAppProcessInfo.IMPORTANCE_FOREGROUND || 
                    procInfos.get(i).importance ==RunningAppProcessInfo.IMPORTANCE_BACKGROUND)  ) {
            Log.d(TAG, "Polling Serivce - the app has been found!");
            return true;
        }
    }

Ответы [ 2 ]

1 голос
/ 13 сентября 2011

Приложение в Android не закрывается при нажатии кнопки «Назад». Кнопка «Назад» вызывает предыдущую активность в стеке действий и помещает текущую в фоновый режим.

Таким образом, кнопка home очищает стек активности и вызывает приложение запуска, кнопка назад вызывает предыдущую активность из стека. Оба помещают текущее приложение в фоновый режим.

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

0 голосов
/ 13 сентября 2011

Когда вы используете кнопку «Назад» для переключения с вашего приложения на рабочий стол, приложение переходит в фоновый режим.Он не закрыт.

Android закроет его позже, если это необходимо, и это не будет результатом действий пользователя.

...