0

ユーザーがインストールしたすべてのアプリケーションを取得するにはどうすればよいですか?

ユーザーがインストールしたすべてのアプリを表示できるアプリを開発したいのですが、

それらを取得する方法がわかりません。

使用しgetExternalStorageDirectory()ますか?

または他の方法がありますか?

4

3 に答える 3

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" />
于 2012-07-27T05:44:54.397 に答える
0

この投稿を参照すると、同様のことができます...システムアプリを除外するため、少し変更する必要がある場合があります...

于 2012-07-27T06:02:14.737 に答える
0

これを試して:

 final Intent intent= new Intent(Intent.ACTION_MAIN, null);
 intent.addCategory(Intent.CATEGORY_LAUNCHER);
 final List mylist= context.getPackageManager().queryIntentActivities(intent, 0);
于 2012-07-27T05:13:28.113 に答える