2013-01-16 83 views
1

目前,我正在努力获取所有正在运行的应用程序的列表。我已经能够以下列方式执行此操作,使用图标运行应用程序(内部和外部)

ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE); 
ActivityManager.MemoryInfo mInfo = new ActivityManager.MemoryInfo(); 
activityManager.getMemoryInfo(mInfo); 
List<RunningAppProcessInfo> listOfRunningProcess = activityManager 
       .getRunningAppProcesses(); 
Log.d(TAG, "XXSize: " + listOfRunningProcess.size()); 
l1 = findViewById(R.id.Layout1); 
for (RunningAppProcessInfo runningAppProcessInfo : listOfRunningProcess) { 
    if (runningAppProcessInfo.uid > 1026) { 
     uID = runningAppProcessInfo.uid; 
     Log.d(TAG, "ANS " + runningAppProcessInfo.processName + " Id :" 
      + runningAppProcessInfo.pid + " UID: " + uID); 
    } 
} 

它给出了所有正在运行的应用程序的列表。现在我想根据这些应用程序是内部应用程序还是外部应用程序来区分这些应用程序。有没有什么办法来分离出内部和外部的应用程序。

回答

1

Here是检查应用程序是否是系统应用程序的线程。

因此,如果您获得应用程序列表,那么您可以使用上述线程检查应用程序是否是系统应用程序。这样你可以分开这些应用程序。

+0

Thanx,让我检查一下。 –