`

android之WebView

 
阅读更多

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使用Demo

    **Android之WebView使用Demo** 在Android开发中,`WebView`是一个非常重要的组件,它允许我们在应用程序内部加载和显示网页内容,极大地扩展了Android应用的功能。本教程将详细讲解如何在Android应用中使用`WebView...

    android之webView加载javascropt

    这篇博客“android之webView加载javascript”将深入探讨如何在Android应用中有效地使用WebView来加载和执行JavaScript代码。 首先,我们需要在AndroidManifest.xml中为应用添加互联网权限,因为加载网页内容需要...

    Android 之WebView实现下拉刷新和其他相关刷新功能

    在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中加载和显示网页内容。有时候,为了提升用户体验,我们希望在WebView中实现下拉刷新的功能,就像原生的ListView或RecyclerView那样。本篇文章...

    android之webview与js相互调用

    在Android开发中,Webview是一个非常重要的组件,它允许我们加载和显示网页内容。Webview不仅能够呈现HTML、CSS和JavaScript,还支持与原生Android应用进行交互,从而实现更丰富的功能。本教程将深入探讨如何在...

    com.google.android.webview.apk

    webview全称叫做Android System WebView,它是Android生态系统的重要组成部分,也是Chrome浏览器的内核。可以让你的手机变得瞬间畅通,它会及时优化网页相关数据,有着接入式的操作体验数据,各种类型的应用程序可...

    android 之 webView 显示h5 执行选择图片或者拍照功能

    开发工具是 android studio SDK版本是 4.3 实现过程基本是这样 h5中调用手机选择文件图片的代码是: *" capture="camera" id="imgFile" name="imgFile" type="file"> 用安卓的 webView 控件来显示h5网页 然后给...

    Android System Webview 90.0.4430.82

    这是AOSP Webview, 包名com.android.webview, 不带google的 带google包名的可以下载 google system webview覆盖安装,可以略过 此文件包含 arm和arm64的webview这是AOSP Webview, 包名com.android.webview, 不带...

    android的webView的登录实例

    在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中加载和显示网页内容。本实例将详述如何使用Android Studio 3.1.2版本,通过WebView来创建一个简单的登录界面,该界面使用本地HTML页面进行...

    com.google.android.webview

    android system webview 适配系统>=5.0

    com.android.webview-95.0.4638.50

    WebView是一个内置的浏览器引擎,允许Android应用程序(App)在不离开应用的情况下显示网页内容。它相当于一个轻量级的浏览器内核,嵌入在Android应用中,用于渲染HTML、CSS和JavaScript。 描述中提到“安卓系统...

    Android实现WebView懒加载

    在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中嵌入网页内容,实现类似浏览器的功能。然而,对于大型或者资源丰富的网页,WebView的加载性能可能会成为用户体验的一个瓶颈。"Android实现...

    android 8.0 webview 拍照预览、二维码扫描

    android 8.0 webview 拍照、预览、二维码扫描比较完整的例子,对于权限检查控制,有比较完善的提示写法。可以下载后,直接在android studid上运行,编译版本和target版本均是SDK android 8.0,最低版本设置成了...

    Android通过WEBVIEW调用HTTPS

    在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中内嵌网页内容,实现与网页的交互。当涉及到安全的网络通信时,HTTPS协议因其数据加密和身份验证特性成为首选。本文将深入探讨如何在Android...

    Android下WebView中调用系统相机拍照范例

    在Android开发中,WebView是一个非常重要的组件,它可以加载和显示HTML内容,实现Web与原生应用的交互。...通过这样的方式,你可以在Android应用的WebView中无缝集成系统相机功能,为用户提供更丰富的体验。

    android webview 版本69.0

    在Android平台上,WebView是一个至关重要的组件,它允许开发者在应用程序中嵌入网页浏览功能,而无需启动完整的浏览器应用。在给定的标题“android webview 版本69.0”中,提到的是一个特定版本的WebView,即69.0。...

    Android System Webview 89.0.4389.105

    这是AOSP Webview, 包名com.android.webview, 不带google的 带google包名的可以下载 google system webview覆盖安装,可以略过 此文件包含 arm和arm64的webview

    Android WebView 去除标题

    在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中加载和显示网页内容。有时候,我们可能希望去除WebView中的标题部分,以实现更自定义化的界面设计。本篇文章将详细探讨如何在Android的...

    com.android.webview-119.0.6045.134

    这是AOSP Webview, 包名com.android.webview, 不带google的 也是Android 7.1 最后一个支持版本 带google包名的可以下载 google system webview覆盖安装,可以略过

    Android之WebView仿微信中图片操作(含二维码识别)

    在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中内嵌网页内容。这篇教程将专注于如何在WebView中实现类似微信的图片操作功能,包括长按图片进行操作以及识别图片中的二维码。以下是对这个...

    Android代码-Android-X5WebView基本封装

    Android-X5WebView基本封装和使用 通过OkHttp拦截器、自定义CookieJar有效完成客户端与H5端的Cookie同步管理 监听WebView的加载进度 滚动条的设置(隐藏或者显示,内侧显示还是外侧显示) 优化X5WebView的预加载问题...

Global site tag (gtag.js) - Google Analytics