Android – проверить состояние процесса приложения

Как я могу программно проверить состояние (пауза/выполнение/приостановка) конкретного процесса, работающего на устройстве Android? Я хочу включить эту логику в свое приложение.

Используя ActivityManager, я могу получить список всех процессов, запущенных на устройстве, но он не показывает мне никакой информации о состоянии процесса. Любая идея о том, как я могу получить эту информацию?

Заранее спасибо.


person NavinC    schedule 01.03.2011    source источник


Ответы (2)


Я был неправ, когда упомянул в вопросе, что в списке процессов, полученных с помощью ActivityManager, нет информации о состоянии процесса.

 ActivityManager am = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
   List<RunningAppProcessInfo> list2= am.getRunningAppProcesses();
   for (RunningAppProcessInfo ti : list2) {

       Log.i("IMPORTANCE CODE",String.valueOf(ti.importance));
  }

ti.importance извлекает постоянное значение, которое описывает, работает ли процесс FOREGROUND, BACKGROUND, Empty of code и т. д.

Дополнительную информацию можно найти по следующему адресу:

http://developer.android.com/reference/android/app/ActivityManager.RunningAppProcessInfo.html

Спасибо, Навин

person NavinC    schedule 09.03.2011

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

public class Activity extends ApplicationContext {
     protected void onCreate(Bundle savedInstanceState);
     protected void onStart();
     protected void onRestart();
     protected void onResume();
     protected void onPause();
     protected void onStop();
     protected void onDestroy();
}
person iamtheexp01    schedule 02.03.2011