2016-12-17 13 views
2

自動サインインのゲームで、Playゲームにログインするようメッセージが表示されたときにユーザーが[キャンセル]ボタンを押すと、ユーザーがキャンセルを実際に押したことをボタン?Google Playゲームからユーザーを引き抜くことを検出するログイン

GoogleはプレイヤーがGoogle Playゲームサービスにログインする方法を変更していましたが、以前は結果コードのonActivityResultをチェックしていました。このような何か:

protected void onActivityResult(int request, int resultCode, Intent data) { 

    if (request == RC_SIGN_IN){ 

     if(resultCode==0){ 
      //User has aborted sign in, so show dialog and set flags to stop 
      //Auto sign in here 
     } 
    } 
} 

物事が変更されているので、キャンセルを押したときにしかし、それは今..... Docsによると、意味、10002を返します(強調は私が追加した)

サインイン時に呼び出しアクティビティに返される結果コードが失敗します。

ゲームサービスへのサインインに失敗しました。たとえば、ネットワークが不安定になったり、ユーザーのアカウントが無効になったり、の同意が得られなかった場合は、が発生する可能性があります。

したがって、10002の結果コードをチェックすると、自動サインインを無効にするために自分のコードを置くことができますが、ネットワーク接続が「ばかげた」場合やその他の問題がある場合は、これをやりたい - ユーザーが後退したときのみ.....

これはどのように達成できますか?

答えて

0

「接続の障害の処理」ガイドに記載されているように、接続エラーのリスナーとメソッドがあります。onConnectionFailed()があると思います。

キャンセルREPONSEが他の状態に置くことができます。

@@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 

    // Result returned from launching the Intent from GoogleSignInApi.getSignInIntent(...); 
    if (requestCode == RC_SIGN_IN) { 
     GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data); 
     handleSignInResult(result); 
    } else if(resultCode == RESULT_CANCELED){ 
     // Do something when user clicks Cancel.. 
    } 
} 
関連する問題