如何获取设备上运行的应用程序中所有 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/