java Dropbox数据存储API:可靠地确定用户是否经过身份验证
问题
我正在使用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设置并取消应用程序的链接。当发生这种情况时,上述函数将检测到用户已登录,只有当您尝试执行需要身份验证的操作(如写入数据存储)时,dropbox api才会意识到用户未经身份验证。
问题
是否有可靠的方法来确定用户是否通过Dropbox数据存储API进行了身份验证
# 1 楼答案
从https://www.dropbox.com/developers/datastore/docs/android#com.dropbox.sync.android.DbxAccountManager.addListener:
此通知可能只有在与服务器通信后才会发出,因为这是客户端知道应用程序之外发生了什么的唯一方法