安卓嵌套网页开发 WebView的使用经验

1. 遇到过webview显示网页时出现空白页,可设置此api                                                                 

 WebSettings.setDomStorageEnabled(true);                                                                  

//DOM存储API是否可用(默认是false,可能出现空白页,所以建议true)

2. WebChromeClient的 onProgressChanged会出现部分机型不回调的问题,如果要单纯地知道网页是否加载完成的话尽量设置两个Client同时使用。                                                                   

 wvContentResources.setWebViewClient(new MyWebViewClient());              

 wvContentResources.setWebChromeClient(new MyWebChromeClient());


3. 网页长按保存图片功能,在前端没有处理的情况下,只能安卓这边处理的话,可以这样子


4. 安卓与前端js交互的话,有两种方式 :①WebView.loadUrl(),②WebView.evaluateJavascript()                                                          第二种只能在api大于19的版本才能使用,并且可以拿返回值 。不过第二种不建议使用,因为不够稳定,在个别机型会出现拿不到返回值的情况,解决方式:用第一种方法调用js方法,若需要返回值,则可以与前端同事沟通,在你调用js方法后,在返回数据的时机下让前端同事调用安卓提供的接口方法,将返回值当做参数来给到安卓端。


5. webView也可以使用腾讯的X5 webview,性能挺强的。  

 implementation'com.tencent.tbs.tbssdk:sdk:43697'                                                              

不过有个缺点是没有触摸监听的回调OnTouchListener

官方地址:      https://x5.tencent.com           

6. 部分机型5.1系统会出现加载不了webview的问题,解决方法:更换Context

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容