如何从系统包中过滤掉应用程序

时间:2011-09-12 16:48:15

标签: android android-emulator

这是我正在努力的事情。我正在使用此代码:

final PackageManager pm = getPackageManager();
List<ApplicationInfo> packages = pm.getInstalledApplications(PackageManager.PERMISSION_GRANTED);
for (ApplicationInfo packageInfo : packages) {
    if ((packageInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 1)
    {
        //irrelevant code here
    }
}

从应用程序启动器的用户应用程序中筛选出系统包。这种方法的问题在于它还会过滤出类似于相机应用的应用。我能做些什么,以至于它不会排除这些应用程序,这些应用程序在应用程序启动器中有些必不可少但已经是Android操作系统的一部分了?

我希望你理解我想说的话......

1 个答案:

答案 0 :(得分:0)

following solution为我工作。

代替

(packageInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 1

使用

pm.getLaunchIntentForPackage(app.packageName) != null