0

안녕하세요! GoogleSignInApi를 사용할 때 문제가 있습니다. WIFI 연결을 통해 사용할 때 훌륭하게 작동합니다. 하지만 WIFI를 끄고 모바일 데이터 만 사용하는 경우 GoogleSignInStatusCodes.NETWORK_ERRORAuth.GoogleSignInApi.getSignInIntent의 활동 결과에서 나옵니다.Android GoogleSignIn API 오류 상태 {statusCode = NETWORK_ERROR, 해상도 = null}

나는 인증을 위해 Firebase UI를 사용하고 있지만 GoogleSignInApi에서 직접 네트워크 오류가 발생하므로 모듈과 관련이 없습니다.

String mClientId = activity.getString(R.string.default_web_client_id); 
GoogleSignInOptions googleSignInOptions; 

GoogleSignInOptions.Builder builder = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) 
.requestEmail() 
.requestIdToken(mClientId);    

for (String scopeString : idpConfig.getScopes()) { 
    builder.requestScopes(new Scope(scopeString)); 
} 

if (!TextUtils.isEmpty(email)) { 
    builder.setAccountName(email); 
} 
googleSignInOptions = builder.build(); 

mGoogleApiClient = new GoogleApiClient.Builder(activity) 
.enableAutoManage(activity, AUTO_MANAGE_ID, this) 
.addApi(Auth.GOOGLE_SIGN_IN_API, googleSignInOptions) 
.build(); 

그리고 이것은 내가 로그인의 활동 실행 방법은 다음과 같습니다 :

Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient); 
activity.startActivityForResult(signInIntent, RC_SIGN_IN); 

를 내가 여기 NETWORK_ERROR를 얻을 :

이는 SignInOptions 때 설정과 같은 모습입니다

@Override 
    public void onActivityResult(int requestCode, int resultCode, Intent data) { 
     if (requestCode == RC_SIGN_IN) { 
      GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data); 
      if (result != null) { 
       if (result.isSuccess()) { 
        mIDPCallback.onSuccess(createIDPResponse(result.getSignInAccount())); 
       } else { 
        onError(result); 
       } 
      } else { 
       onError("No result found in intent"); 
      } 
     } 
    } 

WI에서 정상적으로 작동하므로 키 등을 올바르게 구성했습니다. FI. 권한 끝에서

, 나는 모든 권한은 어떤 도움이 appriciated 될 것이다

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.CAMERA" /> 
    <uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
    <uses-permission android:name="android.permission.READ_PROFILE" /> 
    <uses-permission android:name="android.permission.READ_CONTACTS" /> 

요청 (너무 적절하게 안드로이드 6.0을 처리)했다.

+0

최대 데이터 견적을 보내지 않았습니까? 다른 애플리케이션이 모바일 데이터에서 올바르게 작동하는지 확인해 주시겠습니까? –

+0

예 - Google Play 서비스를 사용하는 경우를 제외하고 다른 모든 서비스는 정상적으로 작동했습니다. 서비스의 백그라운드 데이터가 사용 중지 되었기 때문입니다. –

답변

0

Google Play 설정의 백그라운드 데이터가 사용 중지되었습니다. 그 결과 3G에도 불구하고 인터넷 연결이 정상적으로 이루어졌지만 Google Play 서비스가 인터넷에 액세스 할 수 없게되어 Google Play 서비스가 실행되지 않았습니다.