java - java中如何在函数返回之前等待某个回调方法被调用?

标签 java cordova callback

我正在编写一个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:我无法更改执行方法原型(prototype),因为phonegap插件在执行方法上工作。

最佳答案

在我看来,您正在尝试将同步与异步混合在一起......

您真正应该做的是让回调方法返回 PluginResult。

干杯,

关于java - java中如何在函数返回之前等待某个回调方法被调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12800744/

相关文章:

Java http 下载损坏文件

java - 在 full GC 之前获得预先警告

java - 列表中的 EditText 未按应有的方式工作

javascript - Phonegap/Cordova 推送通知不唤醒屏幕

blackberry - 如何在 blackberry phonegap 中设置方向?

scala - Spark 中是否有 Executor Startup 的 Hook ?

java - Play 解析 application.conf 时无法读取 Heroku 配置变量

javascript - Cordova - 如何修改 webview 标志?

c++ - 使用 C++ lambda 指向成员函数的指针

jquery - 插件中的回调函数