做支付宝扫码支付的时候,支付宝的二维码是用iframe嵌套到页面上的,在手机有些WebView会显示为钓鱼网站,之前以为是因为支付宝嵌套iframe原因,以为发现用支付宝的二维码直接显示在页面就没事,后来去研究下为什么会提示钓鱼,发现到支付宝支付的页面,删除掉key为ALIPAYJSESSIONID的cookie后,就提示钓鱼了。之后想WebView是不是没有写入这个值,后来发现还真是。
之后找资料发现
Android 5.0及以上版本使用webview不能存储第三方Cookies解决方案
Android 5.0以上的手机使用原生WebView浏览网页,在进行登录的时候会提示验证码错误,通过查找5.0以上系统的api文档,发现5.0以上版本的webview做了较大的改动,如:同步cookie的操作已经可以自动同步、但前提是我们必须开启第三方cookie的支持。
解决方法:cookieManager.setAcceptThirdPartyCookies(webview, true);
if(android.os.Build.VERSION.SDK_INT >=Build.VERSION_CODES.LOLLIPOP)
CookieManager.getInstance().setAcceptThirdPartyCookies(webView,true);
最后在WebView加上面的代码,发现不提示钓鱼了
改了下客户端的WebView的