从Android上的活动中获取包名称

时间:2013-11-03 10:02:52

标签: android

我想在我的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

2 个答案:

答案 0 :(得分:0)

您需要将其与packageInfo对象匹配。

List<PackageInfo> temp = packageManager.getInstalledPackages(PackageManager.GET_META_DATA);
for(PackageInfo info: temp) {
  String pkg = info.packageName
}

答案 1 :(得分:0)

试试这个:

for (ResolveInfo info : list) {
    String name = info.activityInfo.name;
    String pkgName = info.activityInfo.applicationInfo.packageName;
}
相关问题