Android WebView调用js方法时,带参数

本周做项目时,遇到Android调用js方法,传送数字js方法可以接受,传送字符串无法接受问题。原因是字符串需要带上引号,在这里记录下,防止以后遇到相同问题:

一、在html界面中定义一个测试的Js方法:

二、WebView引用该方法(当前不配置webVIew的设置):

       可以使用evaluateJavascript()方法来测试传送的值:

public void button(){
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        webView.evaluateJavascript("javascript:getValue(123)", new ValueCallback() {
            @Override
            public void onReceiveValue(String value) {
                Log.d("onReceiveValue:",value);
            }
        });
    }
}

    设置一个按钮点击启动该方法,输出:

三、测试字符串,未带引号:

webView.evaluateJavascript("javascript:getValue(ABC)", new ValueCallback() {
    @Override
    public void onReceiveValue(String value) {
        Log.d("onReceiveValue:",value);
    }
});

  输出:

四、带引号的字符串测试:

webView.evaluateJavascript("javascript:getValue('ABC')", new ValueCallback() {
    @Override
    public void onReceiveValue(String value) {
        Log.d("onReceiveValue:",value);
    }
});

输出:

你可能感兴趣的:(运维自动化)