I want to get the status of running applications

Examples of application status: foreground / background!

+3
source share
3 answers

A quick Google search provided me with this article . The basics:

In your manifest file, add permission:

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

In your activity, do something like this:

 @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));
 }

Please note that I have not tried this ... this is only from the site I linked to above.

+2
source
    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

+2
source

: — API.

: ps, , , , , ps .

0

Source: https://habr.com/ru/post/1730319/


All Articles