1.为什么请求一个网页第一次能用webview展示正常,再次进入该页面就不能正常展示了?
最近做项目时,遇到这样一个问题:用webview展示动态网页时,第一次请求该页面用webview能正常展示,再次点击进入该页面就提示加载失败,不能正常展示了(网页中静态页面部分能展示,动态页面就加载失败了)。或者等一段时间后再次点击才又可以正常展示,当展示静态的html页面就没有问题。
后来发现原来是缓存的原因,设置:
WebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
问题就解决了!
原因分析:
这是因为WebView默认的缓存模式是WebSettings.LOAD_DEFAULT:表示当有缓存且缓存未过期时用缓存,否则用网络资源,这种模式适用于展示静态html页面,而项目中展示的动态部分是通过网络请求json数据并展示,而缓存过期有一定时间,当再次请求时,用的是缓存,故再次展示失败,当改成: WebView.getSettings().
setCacheMode(WebSettings.LOAD_NO_CACHE);表示不用缓存--Don't use the cache, load from the network.问题就解决了
2.按back键可以回到上个网页
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
mWebView.goBack();
return true;
}
3.设置UserAgentString
webSettings.setUserAgentString("Mozilla/5.0 (Linux; Android 4.4; Nexus 4 Build/KRT16H) AppleWebKit/537.36(KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36");
相关推荐
用于展示Android之WebView的简单使用方法,结合博客使用效果更好哟 http://blog.csdn.net/shiquanqq/article/details/50912392
android怎么通过webview调用javascript,javascript怎么调用android代码,下载可查看详细过程
开发工具是 android studio SDK版本是 4.3 实现过程基本是这样 h5中调用手机选择文件图片的代码是: *" capture="camera" id="imgFile" name="imgFile" type="file"> 用安卓的 webView 控件来显示h5网页 然后给...
webview全称叫做Android System WebView,它是Android生态系统的重要组成部分,也是Chrome浏览器的内核。可以让你的手机变得瞬间畅通,它会及时优化网页相关数据,有着接入式的操作体验数据,各种类型的应用程序可...
WebView实现下拉刷新功能和其他控件下拉刷新功能,博客地址:http://blog.csdn.net/dickyqie/article/details/70170855
这是AOSP Webview, 包名com.android.webview, 不带google的 带google包名的可以下载 google system webview覆盖安装,可以略过 此文件包含 arm和arm64的webview这是AOSP Webview, 包名com.android.webview, 不带...
NULL 博文链接:https://wang-peng1.iteye.com/blog/561570
android system webview 适配系统>=5.0
android 8.0 webview 拍照、预览、二维码扫描比较完整的例子,对于权限检查控制,有比较完善的提示写法。可以下载后,直接在android studid上运行,编译版本和target版本均是SDK android 8.0,最低版本设置成了...
Android实现WebView懒加载,提前进行页面JS资源加载。减少WebView加载时间及加载资源问题。Android 8.0以前需要引入X5内核,Android 8.0以后无特殊要求。
Android 原生浏览器内核,包名 com.android.webview,内核版本116。 适用版本:Android API 24 及以上版本。 com.android.webview_116.0.5845.163-minAPI24.apk
实现Android中WebView图片的缓存,并且实现如何替换WebView中默认图片以及如何实现图片的点击。
Android通过WEBVIEW调用HTTPS
使用android studio 3.1.2 ,利用webview,实现登录界面。采用本地html 页面
这是AOSP的webview,包名com.android.webview,不是google的webview
这是AOSP Webview, 包名com.android.webview, 不带google的 带google包名的可以下载 google system webview覆盖安装,可以略过 此文件包含 arm和arm64的webview
Android-X5WebView基本封装和使用 通过OkHttp拦截器、自定义CookieJar有效完成客户端与H5端的Cookie同步管理 监听WebView的加载进度 滚动条的设置(隐藏或者显示,内侧显示还是外侧显示) 优化X5WebView的预加载问题...
自定义webview中的网页“拍照”按钮调用系统相机拍照的API接口MyBrowserAPI.CapturePhoto(filename),在网页JavaScript中调用以后返回存放照片的完整路径名,默认将照片存放在系统SD卡的根目录,包含整个工程中需要添加...
Android APP使用WebView调用H5页面完成摄像头扫描二维码 项目使用Android Studio,打开项目可以直接运行,用过的都说好:)
Android WebView 去除标题 利用javacript交互