1

Android にインストールされているブラウザのリストを取得しようとしています。URL を処理するアクティビティのリストを提供するコードを見つけました。

PackageManager packageManager = context.getPackageManager();
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.google.com"));
List<ResolveInfo> list = packageManager.queryIntentActivities(intent,
                                                 PackageManager.MATCH_DEFAULT_ONLY);
for (ResolveInfo info : list) {
    String name = info.name;
    String pkgName = info.resolvePackageName;
}

アクティビティ名を取得できますが、パッケージ名は常に null です。パッケージ名を取得する方法はありますか? またはそれを行うためのより良い方法はありますか?

ありがとう、

RC

4

2 に答える 2

0

これを試して:

for (ResolveInfo info : list) {
    String name = info.activityInfo.name;
    String pkgName = info.activityInfo.applicationInfo.packageName;
}
于 2013-11-03T10:17:47.407 に答える
0

packageInfo オブジェクトと一致させる必要があります。

List<PackageInfo> temp = packageManager.getInstalledPackages(PackageManager.GET_META_DATA);
for(PackageInfo info: temp) {
  String pkg = info.packageName
}
于 2013-11-03T10:12:47.380 に答える