3

このコードを使用して、インストールされているアプリのリストを取得しました。

public List<ResolveInfo>() {
    PackageManager pm=getPackageManager();
    Intent main=new Intent(Intent.ACTION_MAIN, null);

    main.addCategory(Intent.CATEGORY_LAUNCHER);

    List<ResolveInfo> launchables=pm.queryIntentActivities(main, 0);

}

唯一の問題があります。MAIN アクティビティを持つアプリのみがリストされます。インストールされているすべてのアプリのリストを取得するにはどうすればよいですか? リストが ResolveInfo である必要があるプロジェクトでこのコードを使用したことに注意してください。そのため、ResolveInfo のリストを返すコードのみに回答してください。

4

2 に答える 2

9

あなたは試しましたか:

 List<ApplicationInfo> packages = pm
            .getInstalledApplications(PackageManager.GET_META_DATA);

ここにあります

于 2013-01-24T21:28:20.617 に答える
4

あなたの質問はあまり意味がありません。あなたは少し無理な要求をしています。インストールされているすべてのアプリのリストが必要だと言いますが、オブジェクトも必要ListですResolveInfo。のドキュメントでは、ResolveInfo次のように説明されています。

IntentFilter に対するインテントの解決から返される情報。

アプリとIntentFilterは 1 対 1 で関連付けられません。ResolveInfoオブジェクトに何を含めたいですか? パッケージに複数ある場合、どれが欲しいですか?

PackageManagerには method が含まれていますが、この種のクエリにより適したタイプのオブジェクトの をgetInstalledApplications返します。同様に、オブジェクトのを返すメソッドもあります。ListApplicationInfogetInstalledPackagesListPackageInfo

于 2013-01-24T21:25:06.440 に答える