0

目前,我正在努力获取所有正在运行的应用程序的列表。我已经能够通过以下方式做到这一点,

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);
    }
}

它提供了所有正在运行的应用程序的列表。现在我想根据它们是内部应用程序还是外部应用程序来区分这些应用程序。有什么方法可以区分内部和外部应用程序。

4

1 回答 1

1

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

这样,如果您获得应用程序列表,则可以使用上述线程检查应用程序是否是系统应用程序。这样您就可以分离应用程序。

于 2013-01-16T06:16:14.057 回答