【问题标题】:How can I fetch all the android applications that are presently running in my device for API 26 +?对于 API 26 +,我如何获取当前在我的设备中运行的所有 android 应用程序?
【发布时间】:2021-06-07 13:07:10
【问题描述】:
我已尝试使用此代码来获取设备中运行的应用程序:
ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> runningAppProcessInfo = am.getRunningAppProcesses();
Log.d("apps", String.valueOf(runningAppProcessInfo));
我想我会得到设备中运行的所有应用程序的名称。相反,我在调试时得到了这个:
[android.app.ActivityManager$RunningAppProcessInfo@ad46c50]
如何获取当前正在运行的所有应用的列表?
【问题讨论】:
标签:
java
android
android-activitymanager
【解决方案1】:
final ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
final List<RunningTaskInfo> recentTasks = activityManager.getRunningTasks(Integer.MAX_VALUE);
for (int i = 0; i < recentTasks.size(); i++)
{
Log.d("Executed app", "Application executed : " +recentTasks.get(i).baseActivity.toShortString()+ "\t\t ID: "+recentTasks.get(i).id+"");
}
有关更多信息,请查看提供的link。