1
我正在使用谷歌登錄進行身份驗證。mGoogleApiClient.isConnected即使在mGoogleApiClient.connect後也會返回false
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail()
.requestProfile()
.build();
mGoogleApiClient = new GoogleApiClient.Builder(this)
.enableAutoManage(this, this)
.addApi(Auth.GOOGLE_SIGN_IN_API, gso)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.build();
每當用戶啓動我檢查會話是否仍然可用的應用程序。
if (isGoogleSignedIn()) {
mGoogleApiClient.connect();
onConnected回調,我啓動下一個活動。
@Override
public void onConnected(@Nullable Bundle bundle) {
GlobalUtils.googleApiClient = mGoogleApiClient;
launchNextActivity();
}
我保存參考mGoogleApiClient我GlobalUtils使用戶登出實現更容易。以下是我的logoutUser方法。
public static void logOutUser() {
// Google logout
if (googleApiClient != null && googleApiClient.isConnected()) {
Auth.GoogleSignInApi.signOut(googleApiClient);
}
googleApiClient = null;
}
但這裏的問題是,googleApiClient.isConnected()總是隻要我離開登錄活動返回false。我確保在用戶輸入應用程序主要活動之前始終調用googleApiClient.connect()。
我在做什麼錯?
第一個活動不會在其中一個生命週期事件中調用'disconnect'嗎?例如在'onPause'或'onStop'上 – Ryan
不,它不會斷開連接。 – jay
您確定只能創建mGoogleApiClient的一個實例嗎? –