如何将 Google Chrome 设置为我以编程方式制作的应用程序的默认浏览器

aid*_*aid 2 android google-chrome

我们可以将谷歌浏览器设置为默认浏览器吗?因为我了解到在 android 4.2 中他们不再是 android 中的通用浏览器,他们将其更改为 Google Chrome。就像下面的这段代码。

Intent intent= new Intent();        
intent.setAction("android.intent.action.VIEW");    
Uri content_url = Uri.parse("http://www.eltosystem.com");   
intent.setData(content_url);
intent.setClassName("com.android.browser","com.android.browser.BrowserActivity");   
                        startActivity(intent); 
Run Code Online (Sandbox Code Playgroud)

我们是否可以更改代码以将 Google Chrome 设置为默认值?提前致谢。:)

Fra*_*nov 5

不要在意图上设置类名。如果只有一个应用程序处理该 url,则该应用程序将被启动。如果有多个应用程序,并且用户还没有选择默认应用程序,则会提示用户。如果用户已经选择了一个,这将启动用户首选的一个。让用户选择他们想要使用的浏览器总是一个好主意。事实证明,由于种种原因,Chrome 普通版对他们不起作用;例如,由于特定的残疾,用户可能需要使用特殊的浏览器。

如果您仍想显式启动 Google Chrome,则必须找到它的包名称 ( com.android.chrome:-)) 和处理该android.intent.action.VIEW操作的 Activity 。您可以从 Google Chrome 清单中找到它,该清单存储在 .apk 中。您需要从安装了它的设备中提取它。

但是请注意,即使设备运行 JB 4.2,也不能保证设备上会出现 Google Chrome。OEM 可以(在一定程度上)自由地自定义设备上安装的软件包列表,因此即使标准 4.2 GMS 映像包含 Chrome,例如三星仍可能决定将其删除。更不用说基于 4.2 AOSP 的设备可能永远不会有 Chrome,因为它不是开源 Android 平台的一部分,用户无法从 Google Play 商店下载它,因为它也不属于 AOSP。(我故意不考虑基于 AOSP 的设备的场景,该设备在其图像中包含 Google Play、Google Maps 和 Chrome,而没有适当的 GMS 许可)