提问者:小点点

如何为android webview实现@JavaScriptInterface


安卓:

@JavascriptInterface
fun call(obj:JSONObject?){
    Log.i("webview","$obj")
}

logcat上的输出
i:webview,null

JS:

function callAndroid(obj) {
                    androidObj.call(obj);              
            }

callAndroid({
                    key_string: 'test'
                })

为什么不正常输出结果


共1个答案

匿名用户

为Android WebView创建JavaScript界面有3个步骤。

首先,创建Javascript接口:

@JavascriptInterface
fun call(obj:JSONObject?){
    Log.i("webview","$obj")
}

第二,在你的WebView中添加Javascript接口,并启用Javascript:

 webView.getSettings().setJavaScriptEnabled(true
 webView.addJavascriptInterface(this, "androidObj")

现在从JS调用函数:

androidObj.call(obj) 

检查您是否错过了上述任何步骤。