Android WebView的那些坑

作者: licx | 来源:发表于2016-11-14 23:30 被阅读0次

最近接手的一些需求与H5相关,自然而然就涉及到WebView这神器,大家都知道这里面的水很深。

下面我要说的就是我在这里面遇到的一些坑,今天下午下班被老大就到办公室,学习了3个小时,

刚从办公室里面出来,回到座位上,唤醒电脑就看到了测试妹子发过了的bug:说收到用户反馈说

灰度包中的包月页面弹不出来手机键盘,用户无法输入手机号码。

收到这个消息我还没有反应过来,还有测试妹子说包月页面是H5页面,那问题就是WebView了。

我回头看下下我写的webView基类,是这样:

public classBaseWebViewextendsWebView {

private static finalStringTAG="BaseWebView";

publicBaseWebView(Context context) {

this(context,null);

}

publicBaseWebView(Context context,AttributeSet attrs) {

this(context,attrs,0);

}

publicBaseWebView(Context context,AttributeSet attrs, intdefStyleAttr) {

super(context,attrs,defStyleAttr);

init(context);

}

@TargetApi(VERSION_CODES.LOLLIPOP)

publicBaseWebView(Context context,AttributeSet attrs, intdefStyleAttr, intdefStyleRes) {

super(context,attrs,defStyleAttr,defStyleRes);

init(context);

}

publicBaseWebView(Context context,AttributeSet attrs, intdefStyleAttr, booleanprivateBrowsing) {

super(context,attrs,defStyleAttr,privateBrowsing);

init(context);

}

}

简单点就是这个样子的:

咋一看,没有什么问题啊!!!但是可以怀疑任何人,千万不要怀疑测试。于是我想起了一个金句:有任何问题,去看源码。

用道上人的说法是:look the fucking code。

于是我转手就跳转到了源码里面:

public classWebViewextendsMockView {

/**

* Construct a new WebView with a Context object.

*@paramcontextA Context object used to access application assets.

*/

publicWebView(Context context) {

this(context, null);

}

publicWebView(Context context,AttributeSet attrs) {

this(context,attrs,com.android.internal.R.attr.webViewStyle)

}

publicWebView(Context context,AttributeSet attrs, intdefStyle) {

super(context,attrs,defStyle);

}

...

}

简单点就是这个样子的:

图片上标注的就是我惊奇的发现。这个真的是打脸啊。于是我就按照源码的写了。果然问题就解决了。

ps:这次的问题,算是我长久以来存在的缺陷,这是我之前在自定义基础控件时,时常忽略的问题,也给了我深刻的

认识,所以才有了这篇小的TIPS,与群共勉!

相关文章

  • WebView深度学习(二)之全面总结WebView遇到的坑及优

    上篇文章讲到了WebView的基本使用以及Android和js的交互. 这篇文章讲一下WebView遇到的那些坑,...

  • Android WebView的那些坑

    最近接手的一些需求与H5相关,自然而然就涉及到WebView这神器,大家都知道这里面的水很深。 下面我要说的就是我...

  • 2018-01-13 WebView安全漏洞

    WebView那些坑 0:Android api 16以前版本存在安全漏洞,该漏洞源于没有正确限制使用webvi...

  • Android WebView的坑

    Android WebView的坑 记录一些webview比较隐晦难查的问题。 系统字体改变大小影响WebView...

  • Android与JS调用的总结

    ##Android与JS调用的坑 ###1.Android调用JS的准备工作 ` m_webView.getSet...

  • Android Webview的一些坑

    Android Webview的一些坑 前言 Webview在开发中,总会遇到各种兼容,崩溃,支持各种功能的问题。...

  • 2.5基础知识-webView安全漏洞

    webview安全漏洞详解 1.Webview常见的一些坑Android API level 16 以及之前的版本...

  • Android WebView注入js监听

    前言 在android端,使用webview播放视频需要全屏。但是webview一些坑非常多,所以用js注入的方式...

  • WebView面试详解

    一、WebView 常见的一些坑 1. webview 在android api16以及之前版本的安全漏洞,该漏洞...

  • Android WebView坑

    前言在应用程序开发过程中,经常会采用webview来展现某些界面,这样就可以不受发布版本控制,实时更新,遇到问题可...

网友评论

    本文标题:Android WebView的那些坑

    本文链接:https://www.haomeiwen.com/subject/orjkpttx.html