2012-06-07 37 views
1

当使用facebook sdk android发布消息给facebook时,我得到一个NullPointerException。当调用facebook.authorizeCallback(requestCode, resultCode, data);时,它与NullPointerException崩溃。当使用Facebook sdk android发布消息到facebook时gettting错误android

我的代码:

public void facebookShare(final String msg) 
    { 
     facebook = new Facebook(FACEBOOK_APPID); 
     facebook.authorize(MainActivity.this,new String[] { FACEBOOK_PERMISSION }, 

        new DialogListener() { 
         @Override 
         public void onComplete(Bundle values) { 
          try { 
           Bundle parameters = new Bundle(); 
           parameters.putString("message", msg); 
           String response = facebook.request("me/feed", parameters, "POST"); 
           Log.d("fbproblem", "got response: " + response); 
           if (response == null || response.equals("") || 
            response.contains("error")) { 
            Log.d("Login failed", "RETRY"); 
           } 
           else { 
            Log.d("fbproblem","Message posted to your facebook wall!"); 
            Toast.makeText(getApplicationContext(), "Message posted to your facebook wall!", Toast.LENGTH_LONG).show();         
            //facebook.logout(MainActivity.this); 
           } 
          }catch(Exception e) { 
           //finish(); 
           Log.d("fbproblem", e.getMessage()); 
          } 
          Log.d("fbproblem", "SUCCESS"); 
          //finish(); 
         } 

         @Override 
         public void onFacebookError(FacebookError error) { 
          Log.d("fbproblem", error.getMessage()); 
          //finish(); 
         }        

         @Override 
         public void onError(DialogError e) { 
          Log.d("fbproblem", e.getMessage()); 
          //finish(); 
         } 

         @Override 
         public void onCancel() { 
          Log.d("fbproblem", ""); 
          //finish(); 
         } 
        } 
      ); 
    } 
    @Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     try 
     { 
      super.onActivityResult(requestCode, resultCode, data); 
      facebook.authorizeCallback(requestCode, resultCode, data); 
     } 
     catch(Exception e) 
     { 
      Log.d("fbproblem", e.getMessage()); 
      Toast.makeText(getApplicationContext(), "Something goes wrong Try again Later!!", Toast.LENGTH_LONG).show(); 
     } 
    } 

回答

0

请在下方更新您的应用程序的代码。

public void loginAndPostToWall() { 
    facebook.authorize(this, PERMISSIONS, Facebook.FORCE_DIALOG_AUTH, 
      new LoginDialogListener()); 
} 
+0

谢谢你的工作 –

+0

你能解释一下这个问题是什么吗? – TrueCoke

相关问题