2016-03-15 1 views
0

Я пытался получить число приложений, запущенных в фоновом режиме, используя следующий код:Как подсчитать количество приложений, работающих в фоновом режиме на Android?

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

Но даже несмотря на более чем 1 приложение работает в фоновом режиме, код возвращается 1.

+0

Да, но вам нужно страшное разрешение для вашего приложения, чтобы это сделать (http://developer.android.com/reference/android/Manifest.permission.html#GET_TASKS). Изменить: это страшно, потому что это разрешение, которое большинство приложений не нужно, и с точки зрения пользователя делает ваше приложение значительно менее надежным, если у вас нет очевидной причины для его использования. Метод для достижения того, что вам нужно: http://developer.android.com/reference/android/app/ActivityManager.html#getRunningTasks(int) – iOS

+0

, но этот метод устарел для lollipop.is есть другое решение ? – Shashank

ответ

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() вы можете получить общее количество графского ..

Я надеюсь, что это поможет

+0

Этот метод не работает в 6.0 – Shashank

Смежные вопросы