如何计算Android中在后台运行的应用程序数量?

时间:2016-03-15 11:51:59

标签: java android

我一直在尝试使用以下代码获取当前在后台运行的应用程序数量:

ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> runningAppProcessInfo = am.getRunningAppProcesses();
int numberOfApps =  runningAppProcessInfo.size();

但即使有多个应用程序在后台运行,代码也会返回1。

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()中获取总计数。

我希望这会有所帮助