Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有JavascriptInterface的Webview和参数类型为“的调用”;功能“;_Javascript_Java_Android_Android Webview - Fatal编程技术网

带有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的一个局限性?

谢谢