我在我的應用中使用了android AccountManager
。在初始屏幕中,我撥打getTokenForAccountCreateIfNeeded
以獲取身份驗證令牌或顯示登錄屏幕,但沒有帳戶存在於應用程序中。從應用程序註銷時刪除帳戶或無效的授權令牌?
private void getTokenForAccountCreateIfNeeded(String accountType, String authTokenType) {
final AccountManagerFuture<Bundle> future = mAccountManager.getAuthTokenByFeatures(accountType, authTokenType, null, this, null, null,
new AccountManagerCallback<Bundle>() {
@Override
public void run(AccountManagerFuture<Bundle> future) {
Bundle bnd = null;
try {
bnd = future.getResult();
final String authtoken = bnd.getString(AccountManager.KEY_AUTHTOKEN);
LogUtils.ShowToast(SplashScreen.this, authtoken);
if(authtoken!=null)
{
goToHomePage();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
, null);
}
當註銷按下我叫
AccountManager manager = AccountManager.get(HomeActivity.this);
manager.invalidateAuthToken(Constants.CONTENT_AUTHORITY,preferences.getString(Constants.AUTH_TOKEN,""));
刪除的authToken。並且身份驗證令牌被刪除。
現在,當我回到初始屏幕並調用getTokenForAccountCreateIfNeeded
時,它將返回一個空包。所以訪問令牌爲空沒有任何反應。
我應該在用戶註銷時刪除帳戶,還是應該在訪問令牌爲空時調用somthing else來顯示登錄頁面。如果我應該調用其他方法,然後請告訴哪個方法來顯示登錄。
對不起,我的無知,但我想你錯過了其他部分代碼導航到登錄頁面,如果訪問令牌爲空。 – blizzard