You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chrome 86.0.4240.75启动URL Intent触发ActivityNotFoundException崩溃求解决方案

解决Chrome for Android 86.0.4240.75的ActivityNotFoundException问题

我最近也碰到了这个一模一样的bug,目前已经找到几个可行的解决办法,分享给你:

方法1:移除MIME类型声明

这个版本的Chrome对text/html类型的Intent匹配出现了异常,直接去掉setDataAndType里的MIME参数就能解决问题:

val intent = Intent(Intent.ACTION_VIEW)
intent.data = Uri.parse(url)
intent.addCategory(Intent.CATEGORY_BROWSABLE)
startActivity(intent)

这种方式最简洁,也能保持原有的Intent跳转逻辑,不会限制用户选择浏览器。

方法2:指定Chrome包名(仅针对Chrome打开场景)

如果你的业务逻辑明确需要用Chrome打开链接,可以直接指定Chrome的包名绕过系统匹配逻辑:

val intent = Intent(Intent.ACTION_VIEW, Uri.parse(url))
intent.addCategory(Intent.CATEGORY_BROWSABLE)
intent.setPackage("com.android.chrome")
// 记得先检查是否有可用Activity,避免无Chrome时崩溃
if (intent.resolveActivity(packageManager) != null) {
    startActivity(intent)
} else {
    // 这里可以添加降级处理,比如提示用户安装Chrome或用其他方式打开
}

方法3:使用系统选择器唤起浏览器

这种方法最稳妥,既能避免崩溃,又能保留用户选择浏览器的权利:

val intent = Intent(Intent.ACTION_VIEW, Uri.parse(url))
intent.addCategory(Intent.CATEGORY_BROWSABLE)
val chooser = Intent.createChooser(intent, "选择浏览器打开")
startActivity(chooser)

系统会弹出应用选择器,不管当前Chrome是否存在这个bug,都能正常唤起可用的浏览器应用。

补充说明

这个问题确实是Chrome 86.0.4240.75的官方bug,Google在后续版本中已经修复了该问题,但由于版本推送还在逐步覆盖,很多用户仍在使用这个有问题的版本,所以临时的兼容方案还是很有必要的。

内容的提问来源于stack exchange,提问作者Jonik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 13:57:50