2016-08-23 63 views
0

我創建的應用程序登錄Facebook和當我點擊登錄按鈕,它顯示錯誤登錄Facebook的Android Studio中的錯誤

onErrorCaught exception: javax.net.ssl.SSLHandshakeException: com.android.org.bouncycastle.jce.exception.ExtCertPathValidatorException: Could not validate certificate: current time: Sat Oct 01 17:05:09 GMT+07:00 2011, validation time: Thu Aug 28 07:00:00 GMT+07:00 2014 

我怎樣才能解決這個問題? 我的代碼示例是教程Facebook developer

回答

1

檢查您的手機日期和時間。

0

添加依賴

dependencies { 
    compile 'com.facebook.android:facebook-android-sdk:4.5.0' 
} 

添加按鈕佈局

 <com.facebook.login.widget.LoginButton 
      android:id="@+id/facebook" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_gravity="center_horizontal" 
      android:visibility="gone"/> 
</LinearLayout> 

添加波紋管的功能到活動類

CallbackManager callbackManager; 
LoginButton facebookLoginBtn; 

private FacebookCallback<LoginResult> callback = new FacebookCallback<LoginResult>() { 
     @Override 
     public void onSuccess(LoginResult loginResult) { 
      GraphRequest request = GraphRequest.newMeRequest(
        loginResult.getAccessToken(), 
        new GraphRequest.GraphJSONObjectCallback() { 
         @Override 
         public void onCompleted(JSONObject object, GraphResponse response) { 
          jsonToMap(response.getJSONObject()); 
          String uniqueId = map.get("id"); 
          String userName = map.get("name"); 
          String mail = map.get("email"); 
         } 
        }); 
      Bundle parameters = new Bundle(); 
      parameters.putString("fields", "id,name,email,gender"); 
      request.setParameters(parameters); 
      request.executeAsync(); 
     } 

     @Override 
     public void onCancel() { 
     } 

     @Override 
     public void onError(FacebookException e) { 
      UIHelper.informDialog(mContext, mContext.getString(R.string.unable_to_sign_int)); 

     } 
    }; 

public void initAllSignSdk() { 

     FacebookSdk.sdkInitialize(mContext); 
     callbackManager = CallbackManager.Factory.create(); 
     FacebookSdk.addLoggingBehavior(LoggingBehavior.REQUESTS); 

    } 

private void initViews(Dialog login) { 
     facebookLoginBtn = (LoginButton) login.findViewById(R.id.facebook); 
     facebookLoginBtn.setReadPermissions(Arrays.asList(
       "public_profile", "email", "user_friends")); 
     facebookLoginBtn.registerCallback(callbackManager, callback); 
    }