不管手机有没有设置默认浏览器,都能完整的获取浏览器列表
★★★★★★ 这里很重要
packageManager.queryIntentActivities(intent, PackageManager.MATCH_ALL);
- 一定要设置为
PackageManager.MATCH_ALL
,如果设置为PackageManager.MATCH_DEFAULT_ONLY
就会因为手机设置了默认浏览器后,无法完整的获取浏览器列表- 百度和谷歌推荐的一些文章里,就有很多用到only,奈何之前实力有限,想了好久还是想不明白,坑啊
public static List<ResolveInfo> getBrowserList(Context context) {
PackageManager packageManager = context.getPackageManager();
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://"));
List<ResolveInfo> activities = packageManager.queryIntentActivities(intent,
PackageManager.MATCH_ALL);
return activities;
}