在我的Android应用中,我正在使用带有setJavaScriptEnabled(true)的WebView和获取回调的JavaScript接口。
我发现运行以下代码时收到错误消息Java bridge method can't be invoked on a non-injected object
。
我的Java代码具有:
public class WebAppInterface {
@JavascriptInterface
public void onResult(String json) {
// Do something here
}
}
webView.addJavascriptInterface(WebAppInterface(), "Android")
在WebView的JavaScript中,我正在运行:
let callback = Android.onResult
callback('test') //boom :(
但是调用回调会产生错误。
答案 0 :(得分:0)
使用函数包装解决了我的问题:
let callback = function(res) { Android.onResult(res); }
callback('test')
我从此评论中得到了一些提示,指出了正确的方向: https://github.com/react-native-community/react-native-webview/issues/323#issuecomment-511824940