【问题标题】:In android, How can I force open a URI using a specific browser, without popping up the 'choose browser' list?在 android 中,如何强制使用特定浏览器打开 URI,而不弹出“选择浏览器”列表?
【发布时间】:2011-10-10 22:20:22
【问题描述】:

我的安卓设备上有多个浏览器。我可以使用以下代码使用默认的 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)完成相同的操作。

非常感谢。

【问题讨论】:

    标签: android


    【解决方案1】:

    您需要将 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
    • 从手机启动浏览器

    在 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。

    【讨论】:

    • 万岁!谢谢。它在我的手机上使用以下值:
    • 万岁!谢谢。它在我的手机上使用包值“com.opera.browser”和类名“com.opera.Opera”。但是,由于它在您的设备上有所不同,因此其他设备也可能具有不同的值。是否有任何其他方法可以强制使用指定的浏览器/打开 URL,或者如何获取特定浏览器的所有包/名称的列表。在后一种情况下,每当发布新的浏览器版本时,我都需要更新我的应用程序代码?
    • 包名和类名在我的设备上没有区别; Android 有两个版本的 Opera:Opera Mobile 和 Opera Mini。在我的示例中,我使用的是 Opera Mini。我也检查了 Opera Mobile,包名和类名是你使用的。所以基本上我怀疑在不同的设备上可能有不同的包和类名。此外,从一个版本到另一个版本,开发人员极不可能更改类和包名称。所以,基本上,我认为您不必更新您的应用程序代码,或者至少不必经常更新。
    猜你喜欢
    • 2012-09-29
    • 1970-01-01
    • 2020-06-18
    • 1970-01-01
    • 2018-02-16
    • 2014-01-29
    • 1970-01-01
    • 2013-07-28
    • 2019-04-12
    相关资源
    最近更新 更多