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

时间:2013-01-24 08:23:50

标签: android google-chrome

我们是否可以将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); 

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

1 个答案:

答案 0 :(得分:2)

不要在意图上设置类名。如果只有一个处理该网址的应用,则会启动此应用。如果有多个应用程序,并且用户尚未选择默认应用程序,则会提示用户。如果用户已经选择了一个,则将启动用户首选的一个。让用户选择他们想要使用的浏览器总是一个好主意。可能由于各种原因,Chrome平台无法为它们工作;例如,由于特定的残疾,用户可能需要使用特殊的浏览器。

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

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