我想在我的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
答案 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;
}