我一直在尝试使用以下代码获取当前在后台运行的应用程序数量:
ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> runningAppProcessInfo = am.getRunningAppProcesses();
int numberOfApps = runningAppProcessInfo.size();
但即使有多个应用程序在后台运行,代码也会返回1。
答案 0 :(得分:0)
final PackageManager pm = getPackageManager();
//get a list of installed apps.
List<ApplicationInfo> packages =
pm.getInstalledApplications(PackageManager.GET_META_DATA);
for (ApplicationInfo packageInfo : packages) {
Log.d(TAG, "Installed package :" + packageInfo.packageName);
Log.d(TAG, "Source dir : " + packageInfo.sourceDir);
Log.d(TAG, "Launch Activity :" + pm.getLaunchIntentForPackage(packageInfo.packageName));
}
// the getLaunchIntentForPackage returns an intent that you can use with startActivity()
可以通过这种方式使用PackageManager来填充列表,也可以从List.getCount()中获取总计数。
我希望这会有所帮助