我正在使用Dropbox Datastore API在我的应用中存储信息。我试图找出一种可靠的方法来检查用户是否使用Dropbox进行身份验证。
目前我正在使用这个辅助功能:
public boolean isLoggedIn(Context context){
LogHelper logHelper = new LogHelper();
DbxAccount dropboxAcount = getDropboxAccountManager(context).getLinkedAccount();
if(dropboxAcount == null){
return false;
} else{
if(dropboxAcount.isLinked() && dropboxAcount.getAccountInfo() != null){
return true;
} else{
return false;
}
}
}
此问题是,如果用户在登录后变为未经身份验证,例如,如果用户转到其保管箱设置并取消链接应用程序。发生这种情况时,上述功能将检测用户是否已登录,只有当您尝试执行需要身份验证的操作时(如写入数据存储区),dropbox api才会意识到用户未经过身份验证。
是否有可靠的方法来确定用户是否使用Dropbox Datastore API进行了身份验证?
答案 0 :(得分:2)
void addListener(AccountListener l)
添加将被调用的
DbxAccountManager.AccountListener
每当链接新帐户或取消链接现有帐户时。 无论帐户是否,都会调用侦听器 使用DbxAccount.unlink()
或Dropbox上的用户取消链接 网站。
此通知仍然可能仅在与服务器进行某些通信后才会触发,因为这是客户端知道应用程序之外发生的事情的唯一方法。