2012-03-08 3 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 при одной и той же активности? –

+1

@CassioLandim Используйте Parse.com и их реализацию в facebook и twitter. И Брэндону, СПАСИБО ТОН !!! Потратил много времени на это. – Warpzit

Смежные вопросы