2016-09-12 10 views
1

私はAndroidアプリにGoogle SSOを統合しています。 ユーザーが「アカウントの選択」ダイアログが表示され、背景をクリックするとダイアログが表示されなくなったときを知りたいと思います。Googleの「アカウントを選択」ダイアログの却下を検出する方法

アカウント]ダイアログボックスを選択することで、トリガーです:

@Override 
    public void onConnected(Bundle connectionHint) { 
     Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient); 
     Activity activity = SlateMathV2Activity.getActivity(); 
     activity.startActivityForResult(signInIntent, RC_GET_TOKEN);  
    } 

私はonActivityResult使用していますが、私はどのように明確なログインに失敗し、ダイアログの解雇知りません。

public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    if (requestCode == RC_GET_TOKEN) { 
     GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data); 
     if (result.isSuccess()) { 
      //do something 
     } else { 
      // This is where I get when sign in fails, or when user dismisses the dialog 
     } 
    } 
} 

ヘルプはずっと、 おかげで、 Gioraを高く評価しています。活動の結果に

Intent intent = AccountPicker.newChooseAccountIntent(null, null, 
       new String[] {"com.google", "com.google.android.legacyimap"}, 
       false, null, null, null, null); 
     startActivityForResult(intent, RC_GET_TOKEN); 

答えて

0

ダイアログ起動コードに

public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    if (requestCode == RC_GET_TOKEN) { 
     //result code contains 0 if dialog dismissed by clicking on background or pressing Cancel button 
     // or -1 if OK button is clicked.Tested on Samsung galaxy S5 Android 6.0 

     boolean dialogIsDismissed; 
     if(resultCode ==0) dialogIsDismissed = true; 
     if(resultCode ==-1) dialogIsDismissed = false; 

     GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data); 
     if (result.isSuccess()) { 
      //do something 
     } else { 
      // This is where I get when sign in fails, or when user dismisses the dialog 
     } 
    } 
} 

はあなたが必要か、私はあなたが間違って何を得ることですか?

+0

[アカウントの選択]ダイアログはgetSignInIntentによって自動的にポップされ、resultCodeは両方の場合ともに0になります。解雇かどうか.. – gioravered

関連する問題