2015-01-14 12 views
7

GoogleApiClientによってアプリ用のGoogleプラスログインが設定されています。GoogleApiClient接続は初めて失敗しましたが、2回目に成功します

アプリが最初にインストールし、GoogleApiClientを通じて接続するようにしようとするたびに、それは成功し得ないと常に含むresultonConnectionFailedで終わるん:

ConnectionResult{statusCode=SIGN_IN_REQUIRED, resolution=PendingIntent{4130e760: [email protected]}} 

しかし、それは成功し得る二その呼ばログイン時間とonConnectedヒット。最初の試みよりも成功させることが可能なのはなぜですか?

私のBuilderパラメータに何か問題がありますか?

public void connectGoogleApi() { 
    mGoogleApiClient = new GoogleApiClient.Builder(mainAppContext).addConnectionCallbacks(this).addOnConnectionFailedListener(this).addApi(Plus.API).addScope(Plus.SCOPE_PLUS_LOGIN).build(); 
    mGoogleApiClient.connect(); 
} 

public void onConnectionFailed(ConnectionResult result) { 
    if (!result.hasResolution()) { 
     GooglePlayServicesUtil.getErrorDialog(result.getErrorCode(), this, 0).show(); 
     return; 
    } 

    if (!mIntentInProgress) { 
     // Store the ConnectionResult for later usage 
     mConnectionResult = result; 
     resolveSignInError(); 
    } 

} 
+0

あなたは、あなたのアプリが認証を許可する必要がありますか? – tyczj

+0

あなたがanytihngをやっていなくても次回のダイアログは表示されません。 – Maven

答えて

0

私は同じ問題を抱えていましたが、今回は 'connect()'をもう一度呼び出すと、今回は 'onConnected'メソッドで固定されました。奇妙な。公式ドキュメントとして

@Override 
    public void onConnected(final Bundle arg0) { 
    Logger.log("On connected"); 
    DevicePreferences.getGoogleApiClient().connect(); 
} 
2

hereを言う:

GoogleドライブまたはGoogleがゲームをプレイのように、認証を必要とするAPIに接続するためにGoogleApiClientを使用している場合は、あなたの最初の接続の試みが失敗する良いチャンスがありますユーザアカウントが指定されていないため、あなたのアプリはSIGN_IN_REQUIREDエラーでonConnectionFailed()の呼び出しを受け取ります。

+0

素晴らしいことを知っています。それは私をたくさん助けました! –

関連する問題