2015-02-12 74 views
-1

我試圖與谷歌加登錄和它的作品fine.I已產生密切相關與我的帳戶中有多個帳戶時,所以它告訴我彈出選擇帳戶,但是當我上的取消按鈕,然後單擊並disappears.It它出現再次&。告訴我如何做到這一點?這意味着即使用戶點擊取消按鈕,你還叫 - enter image description here谷歌加'選擇賬戶'選擇賬戶不會消失取消?

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    // TODO Auto-generated method stub 
    super.onActivityResult(requestCode, resultCode, data); 
    if (requestCode == RC_SIGN_IN) 
    { 
     Log.i("RAE","Result is "); 
      if (resultCode != RESULT_OK) { 
       mSignInClicked = false; 
      } 

      mIntentInProgress = false; 

      if (!mGoogleApiClient.isConnecting()) { 
       mGoogleApiClient.connect(); 
      } 
      } 


} 

在連接時您沒有使用的價值爲mSignInClicked確定是否startIntentSenderForResult()失敗

@Override 
    public void onConnectionFailed(ConnectionResult result) { 
     // TODO Auto-generated method stub 
     if (!mIntentInProgress && result.hasResolution()) { 
       try { 
        mIntentInProgress = true; 
        startIntentSenderForResult(result.getResolution().getIntentSender(), 
         RC_SIGN_IN, null, 0, 0, 0); 
       } catch (SendIntentException e) { 
        // The intent was canceled before it was sent. Return to the default 
        // state and attempt to connect to get an updated ConnectionResult. 
        mIntentInProgress = false; 
        mGoogleApiClient.connect(); 
       } 
       } 

    } 
+0

發佈您的代碼! – ianhanniballake 2015-02-12 05:54:01

+0

chek我更新的問題 – 2015-02-12 05:57:00

+0

你可以發佈你的'onConnectionFailed()'以及? – ianhanniballake 2015-02-12 05:59:49

回答

1

一次又一次startIntentSenderForResult() - 添加mSignInClickedif聲明:

if (!mIntentInProgress && mSignInClicked && result.hasResolution()) { 

如果您還是想第一次啓動自動登錄般的體驗,你還應該設置mSignInClickedtrueonCreate()如果savedInstanceState == null(即第一次活動啓動)。這將確保startIntentSenderForResult()每次用戶啓動活動時至少完成一次。注意:您可能還希望設置一個shared preference說明你嘗試自動登錄,而不是再次嘗試自動登錄,如果你已經嘗試自動登錄,他們取消。

+0

我在檢查結果是否正確。 – 2015-02-12 05:53:11

+0

根據您發佈的代碼更新了我的答案。 – ianhanniballake 2015-02-12 06:08:35

+0

如果條件寫什麼? – 2015-02-12 06:11:40