2016-11-06 139 views
0

美好的一天!使用GoogleSignInApi时遇到问题。当我通过WIFI连接使用它时,它工作得很好。但是当我关闭WIFI并仅使用移动数据时,我从Auth.GoogleSignInApi.getSignInIntent活动结果中获得GoogleSignInStatusCodes.NETWORK_ERRORAndroid GoogleSignIn API错误状态{statusCode = NETWORK_ERROR,resolution = null}

我正在使用Firebase UI进行身份验证,但我想它与模块无关,因为我直接从GoogleSignInApi收到网络错误。

这是它的样子时,我设置了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(); 

这就是我如何启动签到活动:

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

我也得到了NETWORK_ERROR这里:

@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。

在许可结束,我已经要求所有的权限(和妥善处理了Android 6.0太)

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

任何帮助将appriciated。

+0

您是否确定自己没有使用过最大数据报价?您能否确认另一个应用程序在移动数据上正常工作? –

+0

是的 - 除了那些使用谷歌播放服务的人以外,其他人都能正常工作,因为我禁用了该服务的后台数据。 –

回答

0

原来我禁用了Google Play设置的背景数据。这导致我即使在3G上也有默认的互联网连接,但Google Play服务被阻止访问互联网,这阻止了任何GooglePlay服务的运行。

相关问题