A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 大山哥哥 黑马粉丝团   /  2016-11-30 19:26  /  3044 人查看  /  2 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

1. android中不支持h5中的audio标签
解决方案:
需要播放声音只能通过video标签来实现

2.关于webview的本地存储
解决方案:
[Java] 纯文本查看 复制代码
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setAppCachePath(Constants.FileCachePath);
webView.getSettings().setAllowFileAccess(true);
webView.getSettings().setAppCacheEnabled(true);


3.第一次进入activity时webview正常,第二次进入webview显示空白,显示的进度到不了100
解决方案:
[Java] 纯文本查看 复制代码
if (Build.VERSION.SDK_INT >= 11) {
    webview.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}


4.关于webview加载本地资源和加载网络资源同时进行时效率降低
解决方案
[Java] 纯文本查看 复制代码
在webview加载网页之前
if(Build.VERSION.SDK_INT >= 19) {
        webView.getSettings().setLoadsImagesAutomatically(true);
} else {
        webView.getSettings().setLoadsImagesAutomatically(false);
}
然后在onpagefinished方法里面做监听,当页面完成的时候再去做相应的加载图片
 
public void onPageFinished(WebView view, String url) {
    if(!webView.getSettings().getLoadsImagesAutomatically()) {
        webView.getSettings().setLoadsImagesAutomatically(true);
    }
}


5.修改webview加载错误的提示页面类似404,403等页面,让原生来实现这个页面,我们可以通过重写onreceivederror方法
解决方案
[Java] 纯文本查看 复制代码
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);
     
}


2 个回复

正序浏览
多谢分享
回复 使用道具 举报

回帖奖励 +1

老师的教程很给力!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马