编程语言
首页 > 编程语言> > java-以编程方式获取WebView实现

java-以编程方式获取WebView实现

作者:互联网

用户当然可以选择要使用的WebView实现,如here所述.是否可以通过编程方式确定他们选择了哪种实现?我知道有可能以编程方式对get the User-Agent string进行编码,但这并不是完全相同的信息.

enter image description here

enter image description here

在上面的示例中,我想知道已选择“ Chrome稳定版”作为WebView实现.在某些用户设备上,显然还有一个选项可以从列表中选择“ Android WebView”,即使Chrome也可以选择,即使系统应用程序列表中禁用了Android WebView.

这令人不安,因为大概Android系统WebView不会再接收任何更新(它将滞留在过去),而Chrome将接收更新,并且是更合适的选择,作为WebView的实现.更为麻烦的是,普通用户完全看不到对WebView实现的选择.

因此,我想特别了解是否选择了“ Android WebView”,即使对于Android 7.0,也似乎选择了Chrome作为more appropriate.

编辑…以下是我的一个用户的选择屏幕,在Android 7.0上,显示“ Android WebView”和“ Chrome”都是选项…并且用户99%确信“ Android WebView”是默认值(由古老的Chrome 51.0.2704.91提供支持)…如果我们不进行跟踪,则会无限期地停留在此位置:

enter image description here

解决方法:

尝试“ adb shell设置列表全局”
您将获得类似“ webview_provider = com.chrome.beta”的信息
然后,您可以使用“ dumpsys软件包com.chrome.beta | grep versionName”获取chrome版本!(取决于webview_provider的packageName)

如果您无法获取webview_provider = ….,则可能意味着您无法在设置中设置Webview实现.

标签:reflection,webview,android-webview,java,android
来源: https://codeday.me/bug/20191110/2014594.html