1

适用于 Android 的 Chrome版本 86.0.4240.75仅在几天前发布。推出刚刚开始,但我们看到使用该版本 Chrome / Android System WebView 的设备上出现了新的崩溃,其数量正在直线上升。

val intent = Intent(Intent.ACTION_VIEW)
intent.setDataAndType(Uri.parse(url), "text/html")
intent.addCategory(Intent.CATEGORY_BROWSABLE)
startActivity(intent)

看起来对于任何 url,在任何使用版本 86.0.4240.75 的设备上,上面的代码都会因 ActivityNotFoundException 而崩溃:

android.content.ActivityNotFoundException: No Activity found to handle Intent 
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1854) 
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1544)

似乎是 Chrome 中的一个错误,但有人找到解决方法了吗?

4

1 回答 1

1

有点令人惊讶,但我找到了一个简单的解决方法。实际上有两个:删除MIME 类型或删除类别

即使使用 86.0.4240.75,这也能正常工作:

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

这也是:

val intent = Intent(Intent.ACTION_VIEW)
intent.setDataAndType(Uri.parse(url), "text/html")
startActivity(intent)

(我不确定首先定义text/html或定义的好处是什么CATEGORY_BROWSABLE,因为两者似乎都不是强制性的。)

于 2020-10-09T13:53:37.340 回答