WebView在Android 5.0上引发InflateException

时间:2019-10-20 10:18:03

标签: android android-webview

升级到"androidx.appcompat:appcompat:1.0.2""com.google.android.material:material:1.1.0-beta01"后,WebView在装有Android 5.0的设备上崩溃并抛出该异常android.view.InflateException

  

原因:android.view.InflateException:二进制XML文件第9行:膨胀类android.webkit.WebView的错误

我该如何解决?

2 个答案:

答案 0 :(得分:1)

here所述,此问题归因于this revision。它会影响Webview版本小于50的Lollipop设备。使用以下代码作为解决方案。

override fun applyOverrideConfiguration(overrideConfiguration: Configuration?) {
        if (Build.VERSION.SDK_INT in 21..25 && (resources.configuration.uiMode == AppConstants.appContext.resources.configuration.uiMode)) {
                return
        }
        super.applyOverrideConfiguration(overrideConfiguration)
}

答案 1 :(得分:0)

您的targetSdkVersion和buildTools版本如何?曾经我有一个非常相似的问题。当我将targetSdkVersion提升到25并将构建工具提升到25.0.2时,我开始看到这种异常。

还尝试更新您的应用程序主题以继承自Theme.MaterialComponents(或后代)。将您的AppTheme父级更改为Theme.MaterialComponents。

示例

之前:

Touch_demo()

之后:

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
</style>