我正在使用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注销?
答案 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;
}