获取最近并运行的应用程序列表不是进程

pyu*_*s13 7 android android-package-managers

我尝试了很多来获取最近和正在运行的应用程序(不是进程)的列表但是无法获得它.

我查看了有关此问题的所有stackoverflow问题,但我得到的关于运行进程和最近任务的唯一答案不是特定应用程序,就像我们在长按主页按钮时可以在Samsung Mobile任务管理器中看到的那样.

我可以通过以下代码获取正在运行的进程:

ActivityManager actvityManager = (ActivityManager)
this.getSystemService( ACTIVITY_SERVICE );
List<RunningAppProcessInfo> procInfos = actvityManager.getRunningAppProcesses();

for(RunningAppProcessInfo runningProInfo:procInfos){

        Log.d("Running Processes", "()()"+runningProInfo.processName);
}
Run Code Online (Sandbox Code Playgroud)

它给出了所有进程的包名,但我只想要我已经启动的应用程序的包名(Both Recent和Running).

如何从运行应用程序进程中提取它?

Mic*_*ley 3

更新:即使使用以下解决方案,我也看不到获取最近任务名称的方法,但这适用于当前正在运行和冻结的任务:getRunningTasks

使用将返回包含基数getRunningTasks的列表,您可以使用该列表通过调用 来获取包名称。RunningTaskInfoComponentNamegetPackageName()

原答案:

您应该查看getRecentTasks。其功能描述为

返回用户最近启动的任务列表,其中最近的任务在第一个,较旧的任务按顺序排列在后面。

注意:此方法仅用于调试和呈现任务管理用户界面。

这应该会为您提供最近运行或正在运行的所有应用程序的列表。