2017-12-19 16 views
0

나는 GoogleApiAvailability를 확인하기 위해 this guide을 다음하고 있으며새 GoogleApiAvailability.getErrorDialog()에 대한 요청 코드를 얻으려면 어떻게해야합니까?

getErrorDialog(int responseCode) 그러나, 결과 코드가 SERVICE_VERSION_UPDATE_REQUIRED, 또는 SERVICE_DISABLED 후 필요 사용자가 업데이트를 설치, SERVICE_MISSING되는 전화하라고 요구한다. 이 경우 getErrorDialog() 메서드 을 호출하고 결과 오류 코드를 전달합니다.

가이드는 그러나 this page (getErrorDialog에 하이퍼 링크) 메소드가

이 방법은 사용되지 않습니다

를 더 이상 사용되지 않습니다 말한다 getErrorDialog (INT의 응답 코드)입니다. 대신 getErrorDialog (Activity, int, int) 을 사용하십시오.

이 문서에 따르면, 제 int는 요청 코드이고 두번째 int 응답 코드이다. isGoogleApiAvailable(context)에서 응답 코드를 받았지만 요청 코드가 무엇인지 어떻게 알 수 있습니까?

// Ensure Google Play services framework is installed 
     int gAAResult = GoogleApiAvailability 
       .getInstance() 
       .isGooglePlayServicesAvailable(this); 
     if(gAAResult == ConnectionResult.SUCCESS){ 
      Log.d(TAG, "Play services available"); 
     } else { 
      GoogleApiAvailability 
        .getInstance() 
        .getErrorDialog(this, ? ,gAAResult); 
     } 

물음표 내가 그것을 0을 통과 주위에 임시 작업으로 실제 요청 코드 로 대체하는 것입니다

이 내 코드입니다. 나는 놀이 서비스가없는 장치가 없다. 에뮬레이터에서 앱은 재생 서비스를 업데이트하는 대화 상자 (내 코드 없음)를 보여줍니다. 그러나 FCM 문서는이 검사를 코드화 할 것을 권장합니다.

답변

1

첫 번째 정수는 connectionResult이며, isGooglePlayServicesAvailable(Context context) 방법으로 반환됩니다. 두 번째 오류 대화 상자는 requestCode입니다.

오류 대화 상자가 표시되면 활동의 메소드 onActivityResult(int requestCode, int result, Intent data)에서 콜백이 발생하고 결과 코드가 전달됩니다. 일부 실행 후 결과 양식을 사용하여 여러 가지 활동을 시작할 수 있으므로 getErrorDialog(...) 메서드는 요청 코드를 결과의 처리에 도움이되는 고유 한 작업 식별자로 전달하도록 요청합니다.

일반적인 Play 서비스 오류 대화 상자는 사용자가 휴대 전화에서 Play 서비스를 업데이트하는 데 도움이되므로 실제로 구현해야합니다. 따라서 문제가 실제로 해결되었음을 알립니다. 운이 좋지 않은 경우에도 마찬가지입니다.

+0

오크. 나는 그 반대 방향으로 생각했다. 따라서 모든 활동에 대해 고유 한 요청 코드를 정의하고 각각 사용할 수 있음을 의미합니다. 감사! – sziraqui