如何获取用户安装的所有应用程序?
我想开发一个应用程序,它可以显示用户安装的所有应用程序,但
我不明白如何获得它们。
使用getExternalStorageDirectory()
?
还是有其他方法吗?
答案 0 :(得分:0)
试试这个:
final Intent intent= new Intent(Intent.ACTION_MAIN, null);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
final List mylist= context.getPackageManager().queryIntentActivities(intent, 0);
答案 1 :(得分:0)
您可以获得有关已安装的pkg的所有信息:
ArrayList<PackageInfo> res = new ArrayList<PackageInfo>();
PackageManager pm = ctx.getPackageManager();
List<PackageInfo> packs = pm.getInstalledPackages(0);
for(int i=0;i<packs.size();i++) {
PackageInfo p = packs.get(i);
String description = (String) p.applicationInfo.loadDescription(pm);
String label= p.applicationInfo.loadLabel(pm).toString();
String packageName = p.packageName;
String versionName = p.versionName;
String versionCode = p.versionCode;
String icon = p.applicationInfo.loadIcon(pm);
//Continue to extract other info about the app...
}
注意:将此权限添加到清单文件中:
<uses-permission android:name="android.permission.GET_TASKS" />
答案 2 :(得分:0)
你可以参考这个post它做了类似的事情......你可能需要修改它,因为它过滤了系统应用程序......