Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.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
JavaScript-Rhino Android库-在Android代码中调用_Javascript_Java - Fatal编程技术网

JavaScript-Rhino Android库-在Android代码中调用

JavaScript-Rhino Android库-在Android代码中调用,javascript,java,Javascript,Java,我正在使用rhino android库调用java中的java脚本代码,但我不知道如何在java中处理javascript中的回调 Java脚本代码 function TestingFunction(data, callback ){ callback(data); } 我试图在java-Android代码中调用同样的代码 invocable.invokeFunction("TestingFunction","12345",

我正在使用rhino android库调用java中的java脚本代码,但我不知道如何在java中处理javascript中的回调

Java脚本代码

   function TestingFunction(data, callback ){
        callback(data);
    }
我试图在java-Android代码中调用同样的代码

invocable.invokeFunction("TestingFunction","12345", ?(How to handle callback))

有人能建议如何在java代码中处理来自javascript的回调吗?

通过实现
org.mozilla.javascript.function
接口,可以在Rhino中将java回调传递给javascript函数,如下所示:

invocable.invokeFuntion("TestingFunction", "12345", 
      new org.mozilla.javascript.Function() {

    @Override
    public Object call(Context cx, Scriptable scope, Scriptable thisObj,
          Object[] args) {

        String data = (String) args[0];
        // do stuff...
    });

嗨,谢尔盖,谢谢你的回复,效果很好。但我唯一关心的是,在Function()回调中生成了许多被重写的方法,有什么替代方法可以克服吗this@Naresh我想你应该可以使用org.mozilla.javascript.Callable,这是一个超级函数接口,只有一个调用方法。嗨,Sergei,谢谢你的支持,有什么方法可以从Android调用js文件中的xmlhttprequest吗Java@Naresh我认为这是一个不同的问题,与原来的问题没有直接关系,所以你可以在这里单独提问。可能已经有人回答了,例如,你看