2012-03-08 75 views
1

每当我运行我的应用程序,它试图连接到Facebook取消。它已经authroized,我可以连接在我的正常Facebook应用程序。我一直在寻找解决方案,现在约两天,找不到任何。这真的是完成我的应用程序后,我唯一的问题...希望我能得到一些答案。Android - Facebook取消

我用这Facebook SDK

这里是我的facebook授权代码:

public void authFB(){ 
    Log.i("IN","FB - Authorizing"); 
    fb.authorize(this, new String[]{ "publish_stream" }, new DialogListener(){ 
     @Override 
     public void onComplete(Bundle values) { 
      SharedPreferences.Editor editor = prefs.edit(); 
      editor.putString("access_token", fb.getAccessToken()); 
      editor.putLong("access_expires", fb.getAccessExpires()); 
      editor.putString("post_id",values.getString("post_id")); 
      editor.commit(); 
      Log.i("IN","Login Successful"); 
      checkFB(); 
     } 
     @Override 
     public void onFacebookError(FacebookError e) { 
      Log.i("IN","Login UnSuccessful - fb error"); 
      e.printStackTrace(); 
      checkFB(); 
     } 
     @Override 
     public void onError(DialogError e) { 
      Log.i("IN","Login UnSuccessful - error"); 
      e.printStackTrace(); 
      checkFB(); 
     } 
     @Override 
     public void onCancel() { 
      Log.i("IN","Login UnSuccessful - cancel"); 
      checkFB(); 
     } 
    }); 
} 

这里是我的onCreate:

super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    prefs = getPreferences(MODE_PRIVATE); 
    String access_token = prefs.getString("access_token", null); 
    //String post_id = prefs.getString("post_id",null); 
    long expires = prefs.getLong("access_expires",0); 
    if(access_token != null){ 
     fb.setAccessToken(access_token); 
    } 
    if(expires != 0){ 
     fb.setAccessExpires(expires); 
    } 

    if(!fb.isSessionValid()){ 
     authFB(); 
    } 

我对什么是错ZERO的想法。我已经尝试过两种不同的电话,这是我得到的调试:

03-07 18:18:43.460: INFO/IN(6741): Login UnSuccessful - cancel 

这意味着onCancel被调用。

CONFUSED。

谢谢。

回答

1

我自己修复了。 我一直得到这个错误,因为我有这个在我的清单我的活动:

   android:launchMode="singleInstance" 

我张贴这一点,因为希望这将帮助别人的未来。

它创建一个错误的原因是因为它试图创建一个secondInstance(duh)并且不允许。

+0

twitter4j需要singleInstance进行身份验证,我该如何处理同一活动上的twitter和facebook身份验证? – 2012-04-13 17:06:04

+1

@CassioLandim使用Parse.com及其facebook和twitter实施。对布兰登来说,谢谢你!浪费了很多时间。 – Warpzit 2012-10-02 12:27:20