我试图在我的应用中集成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)时调用函数;结束?
感谢您的帮助,和往常一样,如果您需要更多信息,请询问
答案 0 :(得分:1)
如果这是API可用的唯一方式,那么您必须使用它 如果你可以控制startOAuth2Authentication的作用,你可以使用 startActivityForResult(),但是它的内部API你无法改变它。
所以我建议你处理 onResume()的任何例外情况 通过使用一些验证,比如用 onResume()包装整个代码
if(mDBApi!=null){...