无法在android设备中使用facebook登录

无法在android设备中使用facebook登录,android,android-facebook,Android,Android Facebook,我在堆栈溢出问题中也提到了同样的问题。但是找不到解决办法。我的问题是,当我在我的android设备(没有安装facebook应用程序)中使用facebook登录时,我的应用程序按预期工作。如果我安装facebook应用程序,我的代码将不再工作,它会抛出错误“登录失败。请联系此应用程序的制造商,让他们向facebook报告问题#1118578”。我的代码贴在下面 private Facebook facebook = new Facebook(APP_ID); private Asyn

我在堆栈溢出问题中也提到了同样的问题。但是找不到解决办法。我的问题是,当我在我的android设备(没有安装facebook应用程序)中使用facebook登录时,我的应用程序按预期工作。如果我安装facebook应用程序,我的代码将不再工作,它会抛出错误“登录失败。请联系此应用程序的制造商,让他们向facebook报告问题#1118578”。我的代码贴在下面

     private Facebook facebook = new Facebook(APP_ID);
 private AsyncFacebookRunner mAsyncRunner;
 String FILENAME = "AndroidSSO_data";
 private SharedPreferences mPrefs;
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  mAsyncRunner = new AsyncFacebookRunner(facebook);
  loginToFacebook();
 }
 @SuppressWarnings("deprecation")
 public void loginToFacebook() {
  mPrefs = getPreferences(MODE_PRIVATE);
  String access_token = mPrefs.getString("access_token", null);
  long expires = mPrefs.getLong("access_expires", 0);

  if (expires != 0) {
   facebook.setAccessExpires(expires);
  }

  if (!facebook.isSessionValid()) {
   facebook.authorize(this,
     new String[] { "email", "publish_stream" },
     new DialogListener() {

      @Override
      public void onCancel() {
       // Function to handle cancel event
      }

      @Override
      public void onComplete(Bundle values) {
       // Function to handle complete event
       // Edit Preferences and update facebook acess_token
       SharedPreferences.Editor editor = mPrefs.edit();
       editor.putString("access_token",
         facebook.getAccessToken());
       editor.putLong("access_expires",
         facebook.getAccessExpires());
       editor.commit();
       getProfileInformation();
      }     });  } }
 @Override
 public void onActivityResult(int requestCode, int resultCode, Intent data) {
  super.onActivityResult(requestCode, resultCode, data);
  facebook.authorizeCallback(requestCode, resultCode, data);
 } 
 /**
  * Get Profile information by making request to Facebook Graph API
  * */
 @SuppressWarnings("deprecation")
 public void getProfileInformation() {
  mAsyncRunner.request("me", new RequestListener() {
   @Override
   public void onComplete(String response, Object state) {
    Log.d("Profile", response);
    String json = response;
    try {
     // Facebook Profile JSON data
     JSONObject profile = new JSONObject(json);

     // getting name of the user
   final String  name = profile.getString("name");

     // getting email of the user
   final String  email = profile.getString("email");

     runOnUiThread(new Runnable() {
       @Override
      public void run() {
         // getProfileInformation();
           String arr[] = name.split(" ", 2);
           String name1 = arr[0];
           String name2 = arr[1];
           Intent intent = new Intent(FacebookLogin.this, UserAccount.class);
             /*Sending some arguments*/ 
             Bundle bundle = new Bundle();
               bundle.putString("UserName",name1);
               bundle.putString("Id", email);
               intent.putExtras(bundle);
               logoutFromFacebook();
               startActivity(intent);      }
      });      
    } catch (JSONException e) {
     e.printStackTrace();
    }   }  }); }
 @SuppressWarnings("deprecation")
public void logoutFromFacebook() {
        mAsyncRunner.logout(this, new RequestListener() {
            @Override
            public void onComplete(String response, Object state) {
                facebook.setAccessToken(null); 
                facebook.setAccessExpires(0);
                Log.d("Logout from Facebook", response);
                if (Boolean.parseBoolean(response) == true) {
                    // User successfully Logged out
                }  }   });  }
}

请告诉我如何避免此错误…

检查此链接…它起作用了我已经阅读了该教程,我的代码与该教程类似