android与js交互,以及webview漏洞修复问题
2017-03-08 10:16
555 查看
一、webview与android进行数据交互
1.js调用android中的方法:需要加上这一句话:
webView.addJavascriptInterface(new JsInteration(), "android");
JsInteration为一个类:
public class JsInteration { @JavascriptInterface public void back() { Bitmap bitmap = EncodingUtils.createQRCode(strResult, 1000, 1000); showPopWindow(bitmap); } }
我这里做的工作是,在html页面上点击,将一些数据传到android端,然后通过android绘制一个二维码图片,并且通过Popwindow继续展示。类似于点击图片放大。
在js中的使用方法是:
function changeSize() { //调用Java的back()方法 window.android.back(); }
2.android调用js方法
在js中定义的funcation如下:
function setwcjyhdssglzmbh(a) { document.getElementById("wcjyhdssglzmbh").innerHTML = a; }
在android中用如下方法进行引用:
webView.evaluateJavascript("setwcjyhdssglzmbh('" + strResultList[1] + "')", null);
这样就完成了android端的数据传值html页面,并且进行显示。
Tips,我在使用的时候js只能写在html页面中,不能单独写成一个Js,html进行引用。如果有好的方法,或者我这个说的有问题烦请告诉我,谢谢。
3.关于使用Webview后,进行漏洞检测会出现高危漏洞的问题。
由于项目需求,必须要有交互,所以在使用之后送至腾讯、百度、阿里自动化检测工具进行安全漏洞检测,都会出现几个关于webview的漏洞,
对于第一个问题,如果你一定使用到了这个方法,可以在页面加载的时候加上这个语句
if (Build.VERSION.SDK_INT < 19) { TipsToast.ToastShow(WcjyzmActivity.this, "对不起!系统版本过低,不支持该功能!"); WcjyzmActivity.this.finish(); }
再网上查了资料,说是在api17之后的webview已经修补了这个漏洞。
Tips,如果你需要android调用js方法的话,最低的api为19,所以我直接判断在19之后就不允许访问该页面。
但是,就算是这样 -。- 该报漏洞的还是会报,(:з」∠)
所以我就尝试了另外一种方法,是用crosswalk,可以参考这俩大牛的
http://www.mobibrw.com/2015/1934
https://software.intel.com/zh-cn/articles/v
文章有点久远,不过确实可以实现,android studio把作为android library,就可以当成webview使用了,唯一一个缺点。。。。就是加入了之后apk贼大啊!!!会大15MB~20MB啊!╮(╯▽╰)╭ 无奈 不过唯一好的就是,漏洞检测不报了,强迫症的福利 (:з」∠)
关于第二个问题,简单加上这几句代码就好了,
webView.removeJavascriptInterface("searchBoxJavaBridge_"); webView.removeJavascriptInterface("accessibilityTraversal"); webView.removeJavascriptInterface("accessibility");
本人还是只菜鸟 -。-
以上的如果有错误或者有问题,都可以跟我说下,相互学习。
相关文章推荐
- Android开发中webView的使用以及与js交互传值问题
- android WebView与JS交互以及需要注意问题
- Android WebView与js交互的问题记录
- WebView的使用以及Android与Js的交互
- WKWebView 基本使用及与JS交互,以及低版本系统崩溃问题解决
- Android JS与WebView交互存在的一些问题
- WebView的使用以及Android与Js的交互
- Android WebView JS 交互 以及 传各种类型到JS函数
- Android 中 WebView 与 js 简单交互实现图文混排效果,解决图片自适应屏幕与查看大图问题
- android Webview基本配置以及android与js交互
- Android 中 WebView 与 js 简单交互实现图文混排效果,解决图片自适应屏幕与查看大图问题
- 【android】 在高版本中进行WebView与js交互需要注意的问题
- 解决Android签名混淆后WebView与JS交互失效的问题
- Android WebView JS交互 混淆打包需要注意的问题
- 解决Android签名混淆后WebView与JS交互失效的问题
- Android中js交互以及webview的一些用法
- android中加载webview以及与JS的交互
- Android webView与js 交互以及jsbridge框架源码分析
- 安卓学习笔记---解决Android签名混淆后WebView与JS交互失效的问题
- android中webview携带cookie以及webview所加载网页中js调用java方法问题