我的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。
非常感谢。
答案 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 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。