Android Dropbox sdk注销功能错误

时间:2012-09-10 07:10:34

标签: android logout dropbox-api

我正在使用dropbox android sdk将dropbox与我的应用程序集成,我想从我的应用程序中从Dropbox注销。从官方文档和Dropbox论坛注销的唯一方法是在Dropbox会话上调用unlink()并从SharedPreference清除您的访问令牌和机密。

mApi.getSession().unlink();
//clear dropbox accesstoken and secret keys from SharedPreference
clearKeys();

上面的电话没有做任何事情。当我尝试稍后登录时

AppKeyPair appKeyPair   =   new AppKeyPair(AppConstants.DROPBOX_API_KEY,AppConstants.DROPBOX_API_SECRET);
AndroidAuthSession session;
session             =   new AndroidAuthSession(appKeyPair, ACCESS_TYPE);

登录屏幕未显示,而是显示api要求用户访问文件夹到dropbox(通常在登录屏幕后显示)的权限的屏幕。有没有办法从dropbox注销?

2 个答案:

答案 0 :(得分:1)

此处的问题是应用程序达到onResume()功能的时间。即使您已注销,dropbox api也会要求浏览器登录,并且它会使用密钥进行响应。浏览器似乎已缓存登录。在调用注销功能时尝试清除Web浏览器缓存。

答案 1 :(得分:0)

因为unlink()调用纯粹是客户端工作,所以它不等于将应用程序与用户帐户取消链接,您可以在Web上的"设置"页。

以下是代码段

@Override
public boolean isLinked() {
    return (oauth1AccessToken != null) || (oauth2AccessToken != null);
}

@Override
public void unlink() {
    oauth1AccessToken = null;
    oauth2AccessToken = null;
}