【问题标题】:Android 12 open link in Chrome intentAndroid 12 在 Chrome 意图中打开链接
【发布时间】:2021-12-18 03:06:21
【问题描述】:

自 Android 12 起,只能使用一个“已批准”的应用打开链接。 截至目前,我在 AndroidManifest.xml 中将我的应用程序支持的 url 定义为意图过滤器。 我的应用程序中还有一个按钮,可以创建在浏览器中打开链接的意图。

但由于 Android 12 的限制,如果我将 url 绑定到我的应用程序,单击在浏览器中打开按钮确实会重新打开我的应用程序,这是非常不受欢迎的行为。

有没有办法强制在 chrome(或其他浏览器)中打开 url? 我查看了 android 开发者文档,但没有找到任何相关信息。

谢谢

【问题讨论】:

    标签: android google-chrome url android-intent hyperlink


    【解决方案1】:

    您可以明确指定默认浏览器作为包来处理您的意图:

    val defaultBrowserIntent = Intent(Intent.ACTION_VIEW, Uri.parse("http://"))
    
    // This would be Chrome if it's the selected default browser
    val defaultBrowserPackageName = packageManager.resolveActivity(
      defaultBrowserIntent, 
      PackageManager.MATCH_DEFAULT_ONLY
    )
      ?.activityInfo
      ?.packageName
    
    val yourIntent = Intent(context, ...).apply {
      package = defaultBrowserPackageName
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多