【黑马程序员】webview踩过的坑
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【黑马程序员】webview 踩过的坑
1. android 中不支持h5中的audio 标签
解决方案: 需要播放声音只能通过video 标签来实现 2.关于webview 的本地存储
解决方案: 1 2 3 4 webView.getSettings().setDomStorageEnabled(true ); webView.getSettings().setAppCachePath(Constants.FileCachePath);
webView.getSettings().setAllowFileAccess(true );
webView.getSettings().setAppCacheEnabled(true );
3.第一次进入activity 时webview 正常,第二次进入webview 显示空白,显示的进度到不了100
解决方案: 1 2 3 if (Build.VERSION.SDK_INT >= 11) {
webview.setLayerType(YER_TYPE_SOFTWARE, null );
}
4.关于webview 加载本地资源和加载网络资源同时进行时效率降低
解决方案 01 02 03 04 05 06 07 在webview 加载网页之前
if (Build.VERSION.SDK_INT >= 19) {
webView.getSettings().setLoadsImagesAutomatically(true );
} else {
webView.getSettings().setLoadsImagesAutomatically(false );
}
然后在onpagefinished 方法里面做监听,当页面完成的时候再去做相应的加载图片
08 09 10 11 12 13
public void onPageFinished(WebView view, String url) {
if (!webView.getSettings().getLoadsImagesAutomatically()) {
webView.getSettings().setLoadsImagesAutomatically(true );
}
}
5.修改webview 加载错误的提示页面类似404,403等页面,让原生来实现这个页面,我们可以通过重写onreceivederror 方法
解决方案 01 02 03 04 05 06 07 08 09 10 11 public void onReceivedError (WebView view, int errorCode, String description, String failingUrl) {
super .onReceivedError(view, errorCode, description, failingUrl);
loadDataWithBaseURL(null , "", "text/html", "utf-8", null );
switch (errorCode){
case 404:
errorView.setBackgroundRes...(XXXXX);
break ;
}
errorView.setVisibility(View.VISIBLE);
}。