简体   繁体   English

使用Facebook SDK Android将消息发布到Facebook时出现gettting错误

[英]gettting error when posting message to facebook using facebook sdk android

I am getting a NullPointerException when posting a message to facebook using the facebook sdk android. 使用facebook sdk android将消息发布到facebook时,出现NullPointerException When facebook.authorizeCallback(requestCode, resultCode, data); facebook.authorizeCallback(requestCode, resultCode, data); is called it crashes with NullPointerException . 被称为NullPointerException导致崩溃。

My code: 我的代码:

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();
        }
    }

Please Update below code of your application. 请更新以下应用程序代码。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM