2016-11-06 141 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服務的運行。

相關問題