2017-02-25 1 views
0

Play 게임 서비스를 사용하고 싶습니다. GoogleApiClient를 Games.API와 함께 사용하고 connect() 메소드를 호출합니다. 그러나 항상 onConnectionFailed()에서 RESOLUTION_REQUIRED 오류가 발생합니다. 내가 Auth.API 대신 Games.API를 사용하는 경우GoogleApiClient Games.API 연결 오류

public class MainActivity extends Activity implements 
    ConnectionCallbacks, 
    OnConnectionFailedListener { 
GoogleApiClient googleApiClient; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    googleApiClient = new GoogleApiClient.Builder(this) 
      .addConnectionCallbacks(this) 
      .addOnConnectionFailedListener(this) 
      .addApi(Games.API).addScope(Games.SCOPE_GAMES) 
      .build(); } 

@Override 
public void onConnectionFailed(@NonNull ConnectionResult connectionResult) { 
    //ConnectionResult{statusCode=RESOLUTION_REQUIRED, resolution=PendingIntent{dd739ef: [email protected]}, message=null} 
} 

는하지만, 연결이 성공 및 호출 방법 onConnected(). 내가 에뮬레이터를 사용하여

public class MainActivity extends Activity implements 
    ConnectionCallbacks, 
    OnConnectionFailedListener { 
GoogleApiClient googleApiClient; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    googleApiClient = new GoogleApiClient.Builder(this) 
      .addConnectionCallbacks(this) 
      .addOnConnectionFailedListener(this) 
      .addApi(Auth.GOOGLE_SIGN_IN_API) 
      .build(); 
} 

@Override 
public void onConnected(Bundle connectionHint) { 
    //Success 
} 

, 에뮬레이터에서 플레이 서비스의 버전은 10.0, 그래서 너무

compile 'com.google.android.gms:play-services-games:10.0.0' 
compile 'com.google.android.gms:play-services-auth:10.0.0' 

내가 여기 Google Play fails to connect, statusCode=RESOLUTION_REQUIRED 동일한 문제가 발견 Gradle을의 버전 10.0을 구축 설정할 수 있지만 저자는하지 않았다 어떤 대답이든.

답변

0

오류 코드 RESOLUTION_REQUIRED로, ConnectionResult에서 기반 :

연결을 완료

해상도의 형태를 필요로한다. 해상도는 startResolutionForResult(Activity, int)으로 시작할 수 있습니다. 반환 된 결과가 RESULT_OK 인 경우 연결을 시도하면 해결해야하는 다음 문제를 완료하거나 계속해야합니다.

그 외에도 Manually managed connections에서 설명한 연결 실패 처리 방법을 확인할 수 있습니다. 언급 한 바와 같이, 당신의 앱이 onConnectionFailed()) 콜백에 대한 호출을 수신

, 당신은 제공 ConnectionResult 객체에 hasResolution()를 호출해야합니다. true를 반환하면 앱은 ConnectionResult 객체에서 startResolutionForResult()을 호출하여 사용자가 오류를 즉시 해결하도록 요청할 수 있습니다. startResolutionForResult() 메서드는이 상황에서 startActivityForResult()과 동일하게 동작하고 사용자가 오류를 해결하는 데 도움이되는 컨텍스트에 적합한 작업을 시작합니다.

관련 문제