【问题标题】:How to find default browser set on android device如何在安卓设备上找到默认浏览器设置
【发布时间】:2014-06-29 23:08:23
【问题描述】:

有什么方法可以找出哪个浏览器被设置为安卓设备上的默认浏览器?在 android 设备上可能安装了多个浏览器,但其中只有一个设置为默认浏览器。我需要以编程方式找到它。

提前致谢。早期的反应表示赞赏..

【问题讨论】:

    标签: android browser default


    【解决方案1】:

    此代码可能对您有所帮助:

    Intent browserIntent = new Intent("android.intent.action.VIEW", Uri.parse("http://"));  
    ResolveInfo resolveInfo = getPackageManager().resolveActivity(browserIntent,PackageManager.MATCH_DEFAULT_ONLY);
    
    // This is the default browser's packageName
    String packageName = resolveInfo.activityInfo.packageName;
    

    如果要启动它,请执行以下操作:

    startActivity(getPackageManager().getLaunchIntentForPackage(packageName));
    

    【讨论】:

    • 如果您只需要应用程序的名称(如“Chrome”),请使用:resolveInfo.loadLabel(getPackageManager()).toString();
    • 根据stackoverflow.com/a/21257097/1168364,这似乎是完全错误的
    • @exloong 你知道如何直接进入该应用程序的设置。
    • 对我(Android 9)来说,即使正确选择了默认浏览器,它也始终返回android(我认为是选择器)。将 URI 更改为真实的 URI (http://example.com) 修复了它。
    【解决方案2】:

    欢迎您使用PackageManagerresolveActivity() 来尝试确定哪个活动(在哪个应用程序中)将处理特定的Intent。但是,这可能表明选择器将处理请求,因为没有当前默认值(例如,用户刚刚安装了新浏览器,因此选择器将出现在下一个 Web 浏览器请求中)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-28
      • 2016-07-28
      • 2012-05-17
      • 2011-04-05
      • 1970-01-01
      • 2014-08-24
      • 2018-08-17
      相关资源
      最近更新 更多