JS和Android 交互

一、Android调用js的方法

1、设置webview对js的支持

WebSettings webSettings = webView.getSettings();
// 设置编码
webSettings.setDefaultTextEncodingName("utf-8");
// 设置支持调用JavaScript方法
webSettings.setJavaScriptEnabled(true);

2、在html中添加 evaluateNativeToJS 方法



    
    
        
    

3、在Android中调用 evaluateNativeToJS 方法

webView.evaluateJavascript("javascript:evaluateNativeToJS('{\"action\": \"login\",\"data\": {}}')", new ValueCallback() {
    @Override
    public void onReceiveValue(String value) {
        // value js方法返回值
    }
});

二、js调用Android的方法

1、创建js调用的接口(添加js要调用的方法 evaluateJsToNative)

class JsCallNativeInterface {
    /**
     * js调用Android的方法
     *
     * @param json json格式字符串(Android工程师和前端工程师约定的数据格式)
     */
    @JavascriptInterface
    public void evaluateJsToNative(String json) {
        // 处理数据
    }
}

2、设置webview对js的支持

WebSettings webSettings = webView.getSettings();
// 设置编码
webSettings.setDefaultTextEncodingName("utf-8");
// 设置支持调用JavaScript方法
webSettings.setJavaScriptEnabled(true);
// 为webView添加js调用的接口(可以添加多个)
webView.addJavascriptInterface(new JsCallNativeInterface(), "callNative");

3、js调用 evaluateJsToNative方法



    
    
        
        
    

你可能感兴趣的:(JS和Android 交互)