最近的 Android 系统 WebView 更新导致崩溃。 如何查看用户安装的webview版本?如果这是崩溃版本,那么我将不会执行webview相关代码。 我可以找到当前版本,但我需要知道有问题的版本号。
val pm = requireActivity().packageManager
val pi = pm.getPackageInfo("com.google.android.webview", 0)
val currentVersion = pi.versionName
就我而言,我确实根据 webview 的 useragent 检查 webview 版本,然后从 userAgent 执行一些正则表达式来获取 webview 版本。这是代码
val chromeVersion = extractChromeVersion(webView.settings.userAgentString)
Log.d("chromeVersion", "$chromeVersion")
if (chromeVersion != null && chromeVersion < 100){
showAlert(chromeVersion)
return
}
...
fun extractChromeVersion(userAgent: String): Int? {
val regex = "Chrome/(\\d+\\.\\d+\\.\\d+\\.\\d+)"
val matchResult = regex.toRegex().find(userAgent)
val versionString = matchResult?.groupValues?.get(1)?.split(".")?.get(0)
return versionString?.toIntOrNull()
}