使用FB sdk让用户登录但屏幕停留在加载

问题描述:

我使用FB Sdk让用户通过FB登录但点击继续使用Facebook按钮屏幕卡住Loading ...下面是截图。使用FB sdk让用户登录但屏幕停留在加载

enter image description here

这是代码我使用https://*.com/a/29379794

什么可能是屏幕停留在加载的原因吗?

+1

你调试的问题?例如,adb logcat? – luschn

+1

@luschn在logcat中没有错误 – TheC

+0

您是否在清单文件中添加了intenet权限 –

使用此代码以下为Facebook登录:

login.setLoginBehavior(LoginBehavior.WEB_ONLY); 
     login.setReadPermissions(Arrays.asList(
       "public_profile", "email", "user_birthday", "user_friends")); 
     login.registerCallback(callbackManager, new FacebookCallback<LoginResult>() { 
      @Override 
      public void onSuccess(LoginResult loginResult) { 

      Log.e("ACESS_ON_SUCCESS---", "" + loginResult.getAccessToken()); 
      token = loginResult.getAccessToken(); 

      GraphRequest request = GraphRequest.newMeRequest(loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() { 


       @Override 
       public void onCompleted(JSONObject object, GraphResponse response) { 
        Log.e("ACESS_ON_COMPLETED--", "" + AccessToken.getCurrentAccessToken()); 

        Log.e("FaceBook Response", response.toString()); 

        String responseStr = response.toString(); 
        sharedpreferences = App.getInstance().getDefaultAppSharedPreferences(); 
         editor = sharedpreferences.edit(); 

        try { 
         if (responseStr.contains("\"id\"")) { 
          id = object.getString("id"); 
          Log.e("USER-ID = ", id); 
          editor.putString(SharedPreferencesConstants.facebookId,id); 
         } 

         if (responseStr.contains("\"name\"")) { 
          name = object.getString("name"); 
          Log.e("NAME = ", name); 
          editor.putString(SharedPreferencesConstants.userName,name); 
         } 

         if (responseStr.contains("\"email\"")) { 
          email = object.getString("email"); 
          Log.e("EMAIL = ", email); 
          editor.putString(SharedPreferencesConstants.userEmail,email);       } 

         if (responseStr.contains("\"birthday\"")) { 
          birthday = object.getString("birthday"); 
          Log.e("BIRTHDAY = ", birthday); 
          editor.putString(SharedPreferencesConstants.userFbBirthday,birthday); 
          String strYear = birthday.substring(6, 10); 
          Log.e("BIRTHDAY LEN", strYear); 
          editor.putString(SharedPreferencesConstants.userFbBirthdayYear,strYear); 
         } 



         //EXTRACT PICTUREOBJECT FROM MAINJSONOBJECT::::--- 
         if (responseStr.contains("\"picture\"")) { 
          JSONObject pictureObject = object.getJSONObject("picture"); 
          Log.e("PICTUREOBJ FRM MAINOBJ", "" + pictureObject.toString()); 

          //EXTRACT DATAOBJECT FROM PICTUREOBJECT::::--- 
          JSONObject dataObject = pictureObject.getJSONObject("data"); 

          //EXTRACT PROFILE_PIC FROM DATAOBJECT::::--- 
          profile_pic = dataObject.getString("url"); 

      Bundle params = new Bundle(); 
      parameters.putString("limit", total_friends_count); 
      request1.setParameters(params); 
      request1.executeAsync();*/ 
     } 

     @Override 
     public void onCancel() { 
      Log.e("Error","canceled"); 
     } 

     @Override 
     public void onError(FacebookException error) { 
      Log.e("Error",error.getMessage()); 
      Toast.makeText(WelcomeActivity.this, "FB Integration Failed", Toast.LENGTH_SHORT).show(); 
     } 
    }); 

}