Android - 验证进程结束时调用函数

时间:2014-05-06 11:05:22

标签: android dropbox oncreate

我试图在我的应用中集成Dropbox上传功能。我已经阅读了官方示例,并且我能够编写客户端来上传文件。 现在只有一件事我想解决.. 该示例首先运行此行代码:

mDBApi.getSession().startOAuth2Authentication(MainActivity.this);

然后使用OnResume完成身份验证:

protected void onResume() {
    super.onResume();
    if (mDBApi.getSession().authenticationSuccessful()) {
        try {
            // Required to complete auth, sets the access token on the session
            mDBApi.getSession().finishAuthentication();

            String accessToken = mDBApi.getSession().getOAuth2AccessToken();
        } catch (IllegalStateException e) {
            Log.i("DbAuthLog", "Error authenticating", e);
        }
    }
    new myOperation().execute("");
}

这样可行,但我一直在寻找替换onResume的方法(当应用程序启动时也会调用它,并导致一些异常)。有没有办法在mDBApi.getSession()。startOAuth2Authentication(MainActivity.this)时调用函数;结束?

感谢您的帮助,和往常一样,如果您需要更多信息,请询问

1 个答案:

答案 0 :(得分:1)

如果这是API可用的唯一方式,那么您必须使用它 如果你可以控制startOAuth2Authentication的作用,你可以使用 startActivityForResult(),但是它的内部API你无法改变它。

所以我建议你处理 onResume()的任何例外情况 通过使用一些验证,比如用 onResume()包装整个代码

if(mDBApi!=null){...