android - 我们的应用程序中在设备上运行的所有 Activity 的列表

标签 android activity-manager

如何获取设备上运行的应用程序中所有 Activity 的列表。

例如:包括 pdf 生成和电子邮件 Activity 。

我可以使用如下代码检查 Activity :

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();

然而,这将提供有关正在运行的 Activity 的信息,这是最重要的 Activity 。

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

最佳答案

我已找到 AppLifecycleHandler,如 this post 中所述成为了解正在发生的事情的一个很好的解决方案。我主要使用它来保持计数并在用户使用完该应用程序时进行清理,但您可以使用一个数组来实现它,在该数组中存储所有正在运行的 Activity ,这样您就可以随时调用以了解正在运行的内容。

关于android - 我们的应用程序中在设备上运行的所有 Activity 的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17486672/

相关文章:

java - AdMob NativeExpressAds 拒绝显示在实际的 Android 设备上

android - 从另一个应用程序完成或关闭一个应用程序

android - 通知按钮返回原始 Activity 后

android - Tesseract 的训练数据文件

java - SMACK XEP-313 实现

java - 如何在 Android 中即将被垃圾收集时将静态成员保留在共享首选项中

android - 为什么 getRunningTasks 没有将RecentApplicationsActivity 识别为正在运行的任务?

android - 如何使用 UsageStatsManager?

android - 如何在不完成当前 Activity 的情况下返回上一个 Activity

java - 在 Android Keystore 中安全地存储 key