Android WebView Java和JavaScript交互

Posted endian11

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android WebView Java和JavaScript交互相关的知识,希望对你有一定的参考价值。

  • Java调用javascript
    • mWebView.loadUrl("javascript:toast()");
      
    • js:
      <script language="javascript>
      <!--提供给android的java代码调用-->
      function toast(){
          alert("fdsaf")      
      }
      
  • JavaScript调用Java
    • WebView提供了一个名为WebSetting的工具类来实现让WebView中的JavaScript脚本调用android的java方法,三个步骤:
      • mWebView.getWebSetting ,调用WebSetting类的setJavaScriptEnabled方法
        webSettings.setJavaScriptEnabled(true);
        
      • mWebView.addJavaScriptInterface(new JavaObject(this), "javaObject");
        

          上面这种JavaScript调用java方法虽然是官方提供的,在android4.2之前的系统中,上面的用法存在极大的安全隐患,会引起WebView远程代码执行漏洞。从android4.2开始,google修复了这个漏洞,唯一需要修改的是对暴露给JavaScript调用的方法增加@JavascriptInterface注解

 

 

  • android 4.2之前的解决办法

以上是关于Android WebView Java和JavaScript交互的主要内容,如果未能解决你的问题,请参考以下文章

Webview Android与js交互

在Android上怎样实现JAVA和JS交互

在 WebView [Android Studio] [Java] 中允许麦克风访问(权限)

Android Webview 和Javascript交互,实现Android和JavaScript相互调用

在Android上怎样实现JAVA和JS交互

Android WebView 在开发过程中都有哪些坑