1

我允许Facebook登录在我的应用程序,但它崩溃时,我按下Facebook从Facebook登录webview,当我再次打开应用程序时,我能够看到注销按钮在我的屏幕?登录后的Facebook SDK应用程序崩溃onActivityResult Android

获取错误OnActivityResult它在撞车那里..

我在这里把我的日志。

我LoginFragment.java

loginButton =(LoginButton)findViewById(R.id.login_button); loginButton.setFragment(this);

loginButton.setOnClickListener(新OnClickListener(){

 @Override 
     public void onClick(View v) { 
      checkLoginwithFB(); 

     } 
    }); 

private void checkLoginwithFB() { 

LoginManager.getInstance().registerCallback(callbackManager, 
       new FacebookCallback<LoginResult>() { 
      public void onSuccess(LoginResult loginResult) 
      { 
       LoginFragment.this.user = user; 
       Profile profile = Profile.getCurrentProfile(); 
       RC_FB_SIGN_IN = loginButton.getRequestCode(); 
       Log.e("===FIrstname===>", "===FIrstname===>"+profile.getFirstName()); 
       if(profile !=null){ 
        final String ID= profile.getId(); 
        final String Name = profile.getName(); 

        Log.e("===ID===>", "===ID===>"+profile.getId()); 
        Log.e("===FIrstname===>","===FIrstname===>"+profile.getName()); 

       // It's possible that we were waiting for this.user to be 
       // populated in order to post a 
       // status update. 
       //if (user != null) { 

        Log.e(TAG, ID); 
        Log.e(TAG,Name); 
        GraphRequest request = GraphRequest.newMeRequest(AccessToken.getCurrentAccessToken(), new GraphRequest.GraphJSONObjectCallback() 
        { 


         @Override 
         public void onCompleted(JSONObject object, 
           GraphResponse response) { 
          Map<String, String> map = new HashMap<String, String>(); 
          map.put("url", URLS.LOGIN_WITH_FB_URL); 
          // map.put("email", ""); 
          map.put("name", Name); 
          map.put("uid", ID); 
          new Controller(mainActivity, new AsyncTaskCompleteListener() { 

           @Override 
           public void onTaskCompleted(String doc, 
             int requestCode) { 
            try { 
             JSONObject jsonObject = new JSONObject(doc); 
             if (jsonObject.getInt("code") == 0) {   
              User user = new User(); 
              long l = Long.parseLong(ID); 
              user.userID = jsonObject.getInt("user_id");         
              user.name = Name; 
              user.email = ""; 
              user.isLogin = true; 
              CoddyzUtils.saveUser(mainActivity, user); 
              if (isReqLogin) { 
               mainActivity.setResult(Activity.RESULT_OK); 
               mainActivity.finish(); 
              } else { 
               goToDeshboard(user); 
              } 
             }else{ 

             } 

             //Toast.makeText(mainActivity, object.getString("message") + "", Toast.LENGTH_LONG).show(); 

            } catch (Exception e) { 

             e.printStackTrace(); 
            } 

           } 

          },map); 


         }}); 

        Bundle parameters = new Bundle(); 
        parameters.putString("fields", "id,name"); 
        request.setParameters(parameters); 
        request.executeAsync(); 
       // Log.e(TAG, user.asMap().toString()); 

          // }else{ 
          // Toast.makeText(getActivity(), "Ankitsir", 
          // Toast.LENGTH_LONG).show(); 
          // } 
      }  // Toast.makeText(mainActivity, "FETCH" + 
        // user.asMap().toString(), Toast.LENGTH_LONG).show(); 
       else { 

        } 
      } 



      @Override 
      public void onCancel() { 
       // TODO Auto-generated method stub 

      } 

      @Override 
      public void onError(FacebookException error) { 
       System.out.println("onError"); 
       Log.v("LoginActivity", error.getCause().toString()); 

      } 

     }); 

    } 

} 




@Override 
    public void onActivityResult(int requestCode, int resultCode, Intent data) { 

     super.onActivityResult(requestCode, resultCode, data); 


     if (FacebookSdk.isFacebookRequestCode(requestCode)) { 


      Log.d(TAG,"Callback:"+CallbackManagerImpl.RequestCodeOffset.Login.toRequestCode()); 
      Log.d(TAG, "onActivityResult:" + requestCode + ":" + resultCode + ":" + data); 
      callbackManager.onActivityResult(requestCode, 
         resultCode, data); 

     } 



    } 

03-04 21:30:57.923: E/AndroidRuntime(12641): FATAL EXCEPTION: main 
03-04 21:30:57.923: E/AndroidRuntime(12641): Process: com.updatemania.foozup, PID: 12641 
03-04 21:30:57.923: E/AndroidRuntime(12641): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=129742, result=-1, data=Intent { (has extras) }} to activity {com.updatemania.foozup/com.example.foo.LoginSignUpActivity}: java.lang.NullPointerException 
03-04 21:30:57.923: E/AndroidRuntime(12641): at android.app.ActivityThread.deliverResults(ActivityThread.java:3532) 
03-04 21:30:57.923: E/AndroidRuntime(12641): at android.app.ActivityThread.handleSendResult(ActivityThread.java:3575) 
03-04 21:30:57.923: E/AndroidRuntime(12641): at android.app.ActivityThread.access$1300(ActivityThread.java:139) 
03-04 21:30:57.923: E/AndroidRuntime(12641): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1341) 
03-04 21:30:57.923: E/AndroidRuntime(12641): at android.os.Handler.dispatchMessage(Handler.java:102) 
03-04 21:30:57.923: E/AndroidRuntime(12641): at android.os.Looper.loop(Looper.java:149) 
03-04 21:30:57.923: E/AndroidRuntime(12641): at android.app.ActivityThread.main(ActivityThread.java:5257) 
03-04 21:30:57.923: E/AndroidRuntime(12641): at java.lang.reflect.Method.invokeNative(Native Method) 
03-04 21:30:57.923: E/AndroidRuntime(12641): at java.lang.reflect.Method.invoke(Method.java:515) 
03-04 21:30:57.923: E/AndroidRuntime(12641): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
03-04 21:30:57.923: E/AndroidRuntime(12641): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609) 
03-04 21:30:57.923: E/AndroidRuntime(12641): at dalvik.system.NativeStart.main(Native Method) 
03-04 21:30:57.923: E/AndroidRuntime(12641): Caused by: java.lang.NullPointerException 
03-04 21:30:57.923: E/AndroidRuntime(12641): at example.foo.fragments.LoginFragment$2.onSuccess(LoginFragment.java:242) 
03-04 21:30:57.923: E/AndroidRuntime(12641): at example.foo.fragments.LoginFragment$2.onSuccess(LoginFragment.java:1) 
03-04 21:30:57.923: E/AndroidRuntime(12641): at com.facebook.login.LoginManager.finishLogin(LoginManager.java:510) 
03-04 21:30:57.923: E/AndroidRuntime(12641): at com.facebook.login.LoginManager.onActivityResult(LoginManager.java:194) 
03-04 21:30:57.923: E/AndroidRuntime(12641): at com.facebook.login.LoginManager$1.onActivityResult(LoginManager.java:141) 
03-04 21:30:57.923: E/AndroidRuntime(12641): at com.facebook.internal.CallbackManagerImpl.onActivityResult(CallbackManagerImpl.java:82) 
03-04 21:30:57.923: E/AndroidRuntime(12641): at com.updatemania.foozup.fragments.LoginFragment.onActivityResult(LoginFragment.java:377) 
03-04 21:30:57.923: E/AndroidRuntime(12641): at android.support.v4.app.FragmentActivity.onActivityResult(FragmentActivity.java:156) 
03-04 21:30:57.923: E/AndroidRuntime(12641): at android.app.Activity.dispatchActivityResult(Activity.java:5603) 
03-04 21:30:57.923: E/AndroidRuntime(12641): at android.app.ActivityThread.deliverResults(ActivityThread.java:3528) 
03-04 21:30:57.923: E/AndroidRuntime(12641): ... 11 more 
+0

显示的'LoginFragment' – flyingAssistant

+0

我可以把它放在这里??? – Ankit

+0

把它作为问题的一部分:) – flyingAssistant

回答

相关问题