带有JavascriptInterface的Webview和参数类型为“的调用”;功能“;
我在带有JavascriptInterface的Webview和参数类型为“的调用”;功能“;,javascript,java,android,android-webview,Javascript,Java,Android,Android Webview,我在Webview上实现了一个JavascriptInterface,它创建了一个对象comNative “comNative”的命令速度较慢,我希望在命令结束时运行javascript回调 该回调已在javascript参数上定义。示例代码: JavaScript comNative.slowNativeMethod(function() { alert('Yaw!'); }); ANDROID public void slowNativeMethod(string callback) {
Webview
上实现了一个JavascriptInterface
,它创建了一个对象comNative
“comNative”的命令速度较慢,我希望在命令结束时运行javascript回调
该回调已在javascript参数上定义。示例代码:
JavaScript
comNative.slowNativeMethod(function() { alert('Yaw!'); });
ANDROID
public void slowNativeMethod(string callback) {
<slow things>...
webview.evaluateJavascript("new" + callback + "();", null);
}
public void slowNativeMethod(字符串回调){
...
evaluateJavascript(“新建”+回调+“();”,null);
}
问题在于,该参数不是javascript“字符串”类型,而是“函数”类型,并以“未定义”字符串的形式到达本机方法
对于解决方法,我可以将回调参数定义为类似字符串“comNative.SlownaviveMethod(function(){alert('Yaw!');}.toString());
”
但我想避免这种情况
你有什么办法解决这个问题吗,或者这是JavaScriptInterface的一个局限性?
谢谢