在android中,如何使用特定浏览器强制打开URI,而不弹出“选择浏览器”列表?

时间:2011-07-22 09:58:26

标签: android

我的Android设备上有多个浏览器。我可以使用以下代码使用默认的android浏览器打开URI:

    String packageName = "com.android.browser";  
    String className = "com.android.browser.BrowserActivity";  
    Intent internetIntent = new Intent(Intent.ACTION_VIEW); 
    internetIntent.addCategory(Intent.CATEGORY_LAUNCHER);  
    internetIntent.setClassName(packageName, className);  
    startActivity(internetIntent); 

如何使用我的设备上安装的指定浏览器完成相同操作,例如Opera。

非常感谢。

1 个答案:

答案 0 :(得分:8)

您需要将packageName和className设置为浏览器活动的包名和类名。

例如,对于Opera Mini,您需要执行以下操作:

String packageName = "com.opera.mini.android";
String className = "com.opera.mini.android.Browser";
Intent internetIntent = new Intent(Intent.ACTION_VIEW);
internetIntent.addCategory(Intent.CATEGORY_LAUNCHER);
internetIntent.setClassName(packageName, className);
startActivity(internetIntent);

对于其他浏览器,您可以通过执行以下操作找到包和类名:

  • 将android手机连接到电脑
  • 打开Android Logcat
  • 从手机启动浏览器

在Android Logcat中,您将看到如下内容:

07-22 14:06:14.662: INFO/ActivityManager(148): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.opera.mini.android/.Browser }

类名将显示在'cmp'属性中:cmp = com.opera.mini.android / .Browser

在这种情况下,包名称为com.opera.mini.android,类名为com.opera.mini.android.Browser。