较低api设备上的Webview行为更改API 28

时间:2018-12-17 03:46:12

标签: android webview android-networking android-9.0-pie

我的应用程序的配置如下: targetSdk 28 minsdk24 compileSdk 28

当我尝试使用targetSDK 28加载广告时,它无法加载,这与targetSDK为27的情况不同,在该情况下,广告成功加载到了我的具有API 27的设备中。

我已经从here阅读了API 28中WebView中的行为更改。

基于Web的数据目录,该目录由API 28中的进程分隔,您应该在每次初始化WebView之前使用WebView.setDataDirectorySuffix(),但是显然我的设备无法使用此方法,因为它是API 27,而且可能不是这个问题是因为我的应用程序在具有API 27的设备和具有API 28的模拟器中都不会崩溃。

通常,如果那是错误,应该会导致崩溃。而且,如果那是问题,只能通过API 28中存在的setDataDirectorySuffix()方法解决,而不是早期设备的API中存在的问题,有没有办法解决此问题而又没有NoSuchMethodError异常?

同样在API 28中,cleartextTrafficPermitted()自动返回false,我已经在我的应用中为may域创建并设置了一个Network Security Configuration,但是它也不会影响这种情况。

我现在只有临时解决方案,可以将targetSDK版本设置为27,但是对于导致此问题的原因和解决方法感到困惑,我们将不胜感激。

我也已经使用API​​28仿真器对此进行了测试,即使我已经能够使用setDataDirectorySuffix()方法,但仍然遇到相同的问题,但是我可能定义了错误的目录。

0 个答案:

没有答案