アンドロイドでは、インストールされているアプリケーションのリストをリストし、プライベート データベースに保存しています。一部のアプリケーションは同じ名前を持ちます。たとえば、Maps という名前の 4 つのアプリケーションがあり、1 つのアプリケーションが更新されると、プライベート データベース内の他の 3 つのアプリケーション レコードが更新されます。それらのアプリケーションをどのように差別化するか? 次のコードを使用して、インストールされているアプリケーションのリストを取得しました。
PackageManager pm = this.getPackageManager();
Intent intent = new Intent(Intent.ACTION_MAIN, null);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
List<ResolveInfo> list = pm.queryIntentActivities(intent,
PackageManager.PERMISSION_GRANTED);
ArrayList<String> applist = new ArrayList<String>();
ArrayList<String> packlist = new ArrayList<String>();
for (ResolveInfo rInfo : list) {
packlist.add(rInfo.activityInfo.packageName);
applist.add(rInfo.activityInfo.applicationInfo.loadLabel(pm)
.toString());
}