我们正在使用Dropbox Core API在我们的Android应用中访问用户的Dropbox帐户:
https://www.dropbox.com/developers/core/start/android
当用户第一次启动应用时,他会看到以下两个Dropbox屏幕:
屏幕1 :
屏幕2 :
首次成功验证后,我们会将OAuth2会话密钥存储在SharedPreferences
中,并使用该密钥进行所有后续API访问。
这似乎有效:当用户第二次启动应用时,屏幕1 不会出现,因此我们假设我们已正确使用了会话密钥。
但是,Dropbox仍会显示第二个屏幕,要求用户将应用程序链接到他的Dropbox帐户。无论用户多少次授权链接应用,都会在应用启动时始终显示屏幕2 。
知道我们做错了吗?
答案 0 :(得分:6)
找到解决方案:
而不是总是打电话
_dropboxApi.getSession().startOAuth2Authentication(MyActivity.this);
我们现在正在检查会话是否已经链接:
if (!_dropboxApi.getSession().isLinked()) {
_dropboxApi.getSession().startOAuth2Authentication(MyActivity.this);
}