任何方法来检查正在运行的进程是否是android中的系统进程

Din*_*rma 3 android process

我正在构建一个Android应用程序,其中我需要显示当前正在运行的应用程序列表,但它包含所有进程,包括android的许多系统或defualt进程:launcher,dailer等.

现在有没有办法检查当前正在运行的进程是否不是android的系统进程(默认进程).

非常感谢.

Khu*_*eed 5

这是我的代码:首先获取正在运行的应用程序列表,执行以下操作

public void RunningApps() {
        final PackageManager pm = getPackageManager();
        //Get the Activity Manager Object
        ActivityManager aManager = 
        (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
        //Get the list of running Applications
        List<ActivityManager.RunningAppProcessInfo> rapInfoList = 
                          aManager.getRunningAppProcesses();
        //Iterate all running apps to get their details
        for (ActivityManager.RunningAppProcessInfo rapInfo : rapInfoList) {
            //error getting package name for this process so move on
            if (rapInfo.pkgList.length == 0)
                continue; 

            try {
                PackageInfo pkgInfo = pm.getPackageInfo(rapInfo.pkgList[0],
                PackageManager.GET_ACTIVITIES);

                if (isSystemPackage(pkgInfo)) {
                    //do something here
                } 
                else {
                    //do something here
                }

            } catch (PackageManager.NameNotFoundException e) {
                e.printStackTrace();
                Log.d(TAG, "NameNotFoundException :" + rapInfo.pkgList[0]);
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

下面给出了检查正在运行的应用程序是否为系统应用程序并在先前方法中使用的实际功能

 /**
     * Return whether the given PackgeInfo represents a system package or not.
     * User-installed packages (Market or otherwise) should not be denoted as
     * system packages.
     *
     * @param pkgInfo The Package info object
     * @return Boolean value indicating if the application is system app
     */
    private boolean isSystemPackage(PackageInfo pkgInfo) {
        return (pkgInfo.applicationInfo.flags & 
                ApplicationInfo.FLAG_SYSTEM) != 0;
    }
Run Code Online (Sandbox Code Playgroud)

我希望它有所帮助.