0

Bonne journée! J'ai des problèmes lors de l'utilisation de GoogleSignInApi. Cela fonctionne merveilleusement, quand je l'utilise sur une connexion WIFI. Mais quand j'éteins WIFI, et utilise seulement des données mobiles, j'obtiens le GoogleSignInStatusCodes.NETWORK_ERROR du Auth.GoogleSignInApi.getSignInIntent résultat d'activité. J'utilise Firebase UI pour l'authentification, mais je suppose que cela n'a rien à voir avec le module, car je reçois l'erreur réseau directement à partir de GoogleSignInApi.Android GoogleSignIn API erreur Statut {statusCode = NETWORK_ERROR, résolution = null}

Voici comment cela ressemble quand je configurer les SignInOptions:

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(); 

Et voilà comment je lance l'activité SignIn:

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

Et je reçois le NETWORK_ERROR ici:

@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"); 
      } 
     } 
    } 

Sur les touches, etc. J'ai tout configuré correctement, car il fonctionne bien sur WI FI.

En fin de permission, j'ai toutes les autorisations demandées (et géré la 6.0 Android correctement trop)

<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" /> 

Toute aide serait appriciated.

+0

Etes-vous sûr de ne pas avoir récupéré votre devis max data? Pourriez-vous confirmer qu'une autre application fonctionne correctement sur des données mobiles? –

+0

Oui - tous les autres fonctionnaient correctement sauf ceux utilisant les services google play parce que j'ai désactivé les données d'arrière-plan pour ce service. –

Répondre

0

Il s'est avéré que j'ai désactivé les données d'arrière-plan pour les paramètres Google Play. Il en résulte que j'avais une connexion Internet correcte par défaut même sur la 3G, mais que les services Google Play étaient bloqués pour accéder à Internet, ce qui empêchait tout service GooglePlay de fonctionner.