英文:
JavaScript - Rhino Android Library - Invoking in Android Code
问题
以下是翻译好的内容:
我正在使用rhino-android库在Java中调用JavaScript代码,但我不知道如何在Java中处理JavaScript中的回调。
JavaScript代码:
function TestingFunction(data, callback){
callback(data);
}
我正试图在Java-Android代码中调用相同的函数:
invocable.invokeFunction("TestingFunction", "12345", ?(如何处理回调))
有人可以建议如何在Java代码中处理来自JavaScript的回调吗?
英文:
I am using rhino-android library to invoke java script code in java but I am not getting how to handle callback in javascript in java.
Java script code
function TestingFunction(data, callback ){
callback(data);
}
I am trying to invoke the same in java- Android code
invocable.invokeFunction("TestingFunction","12345", ?(How to handle callback))
Can anyone suggest how to handle callback from javascript in java code ?
答案1
得分: 0
将Java回调传递给Rhino中的JavaScript函数应该通过实现org.mozilla.javascript.Function
接口来实现,类似于以下方式:
invocable.invokeFunction("TestingFunction", "12345",
new org.mozilla.javascript.Function() {
@Override
public Object call(Context cx, Scriptable scope, Scriptable thisObj,
Object[] args) {
String data = (String) args[0];
// 进行操作...
}
});
英文:
Passing a Java callback to a JavaScript function in Rhino should be possible by implementing the org.mozilla.javascript.Function
interface, something like this:
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...
});
专注分享java语言的经验与见解,让所有开发者获益!
评论