如何在安卓设备上找到默认浏览器设置
Posted
技术标签:
【中文标题】如何在安卓设备上找到默认浏览器设置【英文标题】:How to find default browser set on android device 【发布时间】:2014-06-29 23:08:23 【问题描述】:有什么方法可以找出哪个浏览器被设置为安卓设备上的默认浏览器?在 android 设备上可能安装了多个浏览器,但其中只有一个设置为默认浏览器。我需要以编程方式找到它。
提前致谢。早期的反应表示赞赏..
【问题讨论】:
【参考方案1】:此代码可能对您有所帮助:
Intent browserIntent = new Intent("android.intent.action.VIEW", Uri.parse("http://"));
ResolveInfo resolveInfo = getPackageManager().resolveActivity(browserIntent,PackageManager.MATCH_DEFAULT_ONLY);
// This is the default browser's packageName
String packageName = resolveInfo.activityInfo.packageName;
如果要启动它,请执行以下操作:
startActivity(getPackageManager().getLaunchIntentForPackage(packageName));
【讨论】:
如果您只需要应用程序的名称(如“Chrome”),请使用:resolveInfo.loadLabel(getPackageManager()).toString(); 根据***.com/a/21257097/1168364,这似乎是完全错误的 @exloong 你知道如何直接进入该应用程序的设置。 对我(Android 9)来说,即使正确选择了默认浏览器,它也始终返回android
(我认为是选择器)。将 URI 更改为真实的 URI (http://example.com
) 修复了它。【参考方案2】:
欢迎您使用PackageManager
和resolveActivity()
来尝试确定哪个活动(在哪个应用程序中)将处理特定的Intent
。但是,这可能表明选择器将处理请求,因为没有当前默认值(例如,用户刚刚安装了新浏览器,因此选择器将出现在下一个 Web 浏览器请求中)。
【讨论】:
以上是关于如何在安卓设备上找到默认浏览器设置的主要内容,如果未能解决你的问题,请参考以下文章