我们的应用程序中正在设备上运行的所有活动的列表

My *_*God 14 android activity-manager

如何获取应用程序中正在设备上运行的所有活动的列表.

例如:包括pdf生成和电子邮件活动.

我可以使用以下代码检查活动:

ActivityManager am = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);

     // get the info from the currently running task

     List< ActivityManager.RunningTaskInfo > taskInfo = am.getRunningTasks(1);

     Log.d("topActivity", "CURRENT Activity ::"

             + taskInfo.get(0).topActivity.getClassName());

     ComponentName componentInfo = taskInfo.get(0).topActivity;

   componentInfo.getPackageName();
Run Code Online (Sandbox Code Playgroud)

但是,这将提供有关作为最高活动的运行活动的信息.

我的想法是将运行的活动列入白名单,以便我的第三方应用程序可以在设备上运行它.所以我基本上需要应用程序中的所有运行活动.

My *_*God -4

这是获取应用程序中所有正在运行的活动的方法 -

try {
    ActivityInfo[] list = getPackageManager().getPackageInfo(getPackageName(),PackageManager.GET_ACTIVITIES).activities;

        for(int i = 0;i< list.length;i++)
        {
            System.out.println("List of running activities"+list[i].name);

        } 
    }

    catch (NameNotFoundException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }
Run Code Online (Sandbox Code Playgroud)

  • 当我运行应用程序时,这会列出应用程序清单中的所有活动,而不仅仅是所有正在运行的活动。 (15认同)
  • 这似乎列出了当前运行的应用程序中的所有活动,而不是设备上的活动 (7认同)
  • 这是错误的,因为它返回所有活动的列表 (3认同)
  • 这似乎是错误的答案,因为文档说: &lt;application&gt; 下包含的所有 &lt;activity&gt; 标签的数组,如果没有则为 null。仅当设置了标志 GET_ACTIVITIES 时才会填写此内容。 (2认同)