1

我正在使用 dropbox android sdk 将 dropbox 与我的应用程序集成,并且我想从我的应用程序中的 dropbox 注销。从官方文档和 Dropbox 论坛中,退出的唯一方法是调用unlink()Dropbox 会话并从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 注销?

4

2 回答 2

1

这里的问题是应用程序何时达到onResume()功能。即使您已注销,dropbox api 也会要求浏览器登录,并以密钥响应。浏览器似乎已经缓存了登录。调用注销功能时尝试清除 Web 浏览器缓存。

于 2012-10-08T13:18:57.487 回答
0

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

这是代码片段

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

@Override
public void unlink() {
    oauth1AccessToken = null;
    oauth2AccessToken = null;
}
于 2015-02-18T01:57:39.693 回答