Я хочу получить статус запущенных приложений - PullRequest
3 голосов
/ 28 января 2010

Примеры статуса приложения: передний план / фон!

Ответы [ 3 ]

2 голосов
/ 28 января 2010

Быстрый поиск в Google предоставил мне эту статью . Основы:

В вашем файле манифеста добавьте разрешение:

<uses-permission id="android.permission.GET_TASKS"/> 

В своей деятельности сделайте что-то вроде этого:

 @SuppressWarnings("unchecked")
 private void updateTaskList() {
      /* Grab the Systems IActivityManager. */
      IActivityManager myActivityManager = ActivityManagerNative.getDefault();
      /* Will hold all the task"".toString()"" entries */
      ArrayList<String> listEntries = new ArrayList<String>();
      try {
           int showLimit = 1;
           /* Get all Tasks available (with limit set). */
           List<IActivityManager.TaskInfo> allTasks = myActivityManager
                     .getTasks(showLimit, 0, null);
           int i = 1;
           /* Loop through all tasks returned. */
           for (IActivityManager.TaskInfo aTask : allTasks) {
                listEntries
                          .add("" + (i++) + ": "
                                    + aTask.baseActivity.getClassName() + " ID="
                                    + aTask.id);
           }
      } catch (DeadObjectException e) {
           Log.e("TaskManager", e.getMessage(), e);
      }
      /* Display out listEntries */
      setListAdapter(new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1_small, listEntries));
 }

Обратите внимание, что я не пробовал это ... это просто с того сайта, на который я ссылался выше.

2 голосов
/ 20 декабря 2010
    Context context = this.getApplicationContext();
    ActivityManager mgr = (ActivityManager)context.getSystemService(ACTIVITY_SERVICE);

    ConfigurationInfo config = mgr.getDeviceConfigurationInfo();
    List<RunningAppProcessInfo> processes = mgr.getRunningAppProcesses();
    List<RunningTaskInfo> tasks = mgr.getRunningTasks(100);

    String text = "";

    text += "Running tasks: \n";
    for(Iterator i = tasks.iterator(); i.hasNext(); )
    {
        RunningTaskInfo p = (RunningTaskInfo)i.next();
        text += p.baseActivity.flattenToString() + "\n";
    }

Etcetera

0 голосов
/ 28 января 2010

Краткий ответ: вы не можете & mdash; для этого нет API.

Чуть более точный ответ: вы можете иметь возможность выполнить команду типа ps, чтобы получить некоторую базовую информацию о процессе, но это зависит от того, позволяет ли конкретное устройство выполнять такие команды консоли, и установлен двоичный файл ps.

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