这是我正在努力的事情。我正在使用此代码:
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操作系统的一部分了?
我希望你理解我想说的话......
答案 0 :(得分:0)
following solution为我工作。
代替
(packageInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 1
使用
pm.getLaunchIntentForPackage(app.packageName) != null