Android - Facebook取消

时间:2012-03-08 02:25:23

标签: java android facebook

每次我运行我的应用程序并尝试连接到Facebook时,它都会取消。它已经被授权,我可以在我的普通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();
    }

我对错误有任何想法。我现在在两个不同的手机上试过它,这是我得到的调试:

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

这意味着正在调用onCancel。

混淆。

感谢。

1 个答案:

答案 0 :(得分:1)

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

              android:launchMode="singleInstance"

我发布这个是因为希望将来可以帮助某人。

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