ユーザーがインストールしたすべてのアプリケーションを取得するにはどうすればよいですか?
ユーザーがインストールしたすべてのアプリを表示できるアプリを開発したいのですが、
それらを取得する方法がわかりません。
使用しgetExternalStorageDirectory()
ますか?
または他の方法がありますか?
ユーザーがインストールしたすべてのアプリケーションを取得するにはどうすればよいですか?
ユーザーがインストールしたすべてのアプリを表示できるアプリを開発したいのですが、
それらを取得する方法がわかりません。
使用しgetExternalStorageDirectory()
ますか?
または他の方法がありますか?
インストールされている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" />
この投稿を参照すると、同様のことができます...システムアプリを除外するため、少し変更する必要がある場合があります...
これを試して:
final Intent intent= new Intent(Intent.ACTION_MAIN, null);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
final List mylist= context.getPackageManager().queryIntentActivities(intent, 0);