我想获取出现在菜单屏幕中的所有应用程序。但是,现在我只得到用户安装的应用程序或所有应用程序(包括系统应用程序)。
我当前的代码是:
final PackageManager pm = getActivity().getPackageManager();
List<PackageInfo> apps = pm.getInstalledPackages(PackageManager.GET_META_DATA);
ArrayList<PackageInfo> aux = new ArrayList<PackageInfo>();
for (int i = 0; i < apps.size(); i++) {
if (apps.get(i).versionName != null && ((apps.get(i).applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 1)) {
aux.add(apps.get(i));
}
使用此代码,我可以获取用户安装的应用程序,并且如果注释“ if”指令,则可以获取系统应用程序。
因此,我想让用户安装应用程序以及联系人,画廊等应用程序。
更新:
final PackageManager pm = getActivity().getPackageManager();
Intent intent = new Intent(Intent.ACTION_MAIN, null);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
List<ResolveInfo> apps = pm.queryIntentActivities(intent, PackageManager.GET_META_DATA);
final PackageManager pm = getActivity().getPackageManager();
Intent intent = new Intent(Intent.ACTION_MAIN, null);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
List<ResolveInfo> apps = pm.queryIntentActivities(intent, PackageManager.GET_META_DATA);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句