【问题标题】: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
}