美文网首页
Android与JS 互调 Android中在@Javascr

Android与JS 互调 Android中在@Javascr

作者: 大川的川 | 来源:发表于2019-07-26 12:27 被阅读0次

    这个问题的具体流程是这样的,JS要调用我的Android中的“A”方法,“A”方法执行完毕之后需要再调用JS中的“J”方法,本来感觉很简单的东西,把我整蒙圈了,咋回事呢?因为在“A”方法中根本无法执行调用“J”方法!

    !!!错误版本---------------给WebView加入设置与交互:

    WebSettings webSettings = webview.getSettings();
    //与js交互必须设置
    webSettings.setJavaScriptEnabled(true);
    webview.loadUrl("");
    /**A方法**/
    @JavascriptInterface
    public void A() {
            //需要执行JS的“J”方法
            webview.loadUrl("javascript:J('1','2','3')");
    }
    

    如果你也到了这里,你会发现,根本无法调通“J”方法,好嘛,那就看看正确的如何操作!

    !!!正确版本---------------给WebView加入设置与交互:

    WebSettings webSettings = webview.getSettings();
    //与js交互必须设置
    webSettings.setJavaScriptEnabled(true);
    webview.loadUrl("");
    /**A方法**/
    @JavascriptInterface
    public void A() {
         //需要执行JS的“J”方法
         runOnUiThread(new Runnable() {
              @Override
              public void run() {
                   webview.loadUrl("javascript:J('1','2','3')");
              }
         });
    }
    

    非常好,到这里,加上异步操作UI的方法,我们的JS成功的调取了!NICE!

    相关文章

      网友评论

          本文标题:Android与JS 互调 Android中在@Javascr

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