我正在写一个 phonegap 插件。我的代码大纲是这样的
public PluginResult execute(String action, JSONArray arg1, String arg2) {
try{
if (action.equals("authenticate")) {
this.startlogin();
return new PluginResult(PluginResult.Status.OK);
}
else {
return new PluginResult(PluginResult.Status.INVALID_ACTION);
}
}catch(Exception e){}
return new PluginResult(PluginResult.Status.JSON_EXCEPTION);
}
startlogin() 方法调用一个注册了回调方法的函数,该回调方法在某个事件后被调用。即 startlogin() 方法返回,但在异步事件发生后调用某个方法。
public void startlogin(){
login();//this has callback method
}
在我从执行方法返回之前如何等到该回调方法完成?java中最好的方法是什么?
PS:我无法更改执行方法原型,因为 phonegap 插件适用于执行方法。