Android 与 js 交互

Android与js交互分两种形式
1.js调用Android的方法并且传参:
mWebSettings.setJavaScriptEnabled(true);   //加上这句话才能使用javascript方法
        mWebView.addJavascriptInterface(new Object() {//增加接口方法,让html页面调用
            @JavascriptInterface
            public void jsMethod(String id,String type) {
    
    
                Toast.makeText(MainActivity.this,"参数1:"+id+"参数2:"+type,Toast.LENGTH_LONG).show();
            }
            @JavascriptInterface
            public void jsTitle( String title) {
    
    
                Toast.makeText(MainActivity.this,"参数1:"+title,Toast.LENGTH_LONG).show();
            }

        }, "stub");
2.Android调用js的方法并且传参:
 mWebView.setWebViewClient(new WebViewClient(){
    
    
            @Override
            public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error){
    
    
                //注意:super句话一定要删除,或者注释掉,否则又走handler.cancel()默认的不支持https的了。
                //super.onReceivedSslError(view, handler, error);
                //handler.cancel(); // Android默认的处理方式
                //handler.handleMessage(Message msg); // 进行其他处理
                handler.proceed(); // 接受所有网站的证书
            }
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
    
    
//            view.loadUrl(url);// 当打开新链接时,使用当前的 WebView,不会使用系统其他浏览器
                return true;
            }

            @Override
            public void onPageFinished(WebView view, String url) {
    
    
                super.onPageFinished(view, url);
                String usr="ppp";
                Log.i("=====", "onPageFinished: --------");
                //在这里执行你想调用的js函数
                mWebView.loadUrl("javascript:test_coupon('"+usr+ "','" +usr+"')");  //加载页面
            }
        });

猜你喜欢

转载自blog.csdn.net/u010256329/article/details/62216319