2011-12-30 17 views
6

Mam aplikację, która wysyła ciąg do ściany użytkownika. Aplikacja działała dobrze w emulatorze, ale nie mogłem jej uruchomić w prawdziwym urządzeniu. Na początku myślałem, że mam problem z kluczem hash. Ale potem wypróbowałem to na urządzeniu, które nie ma zainstalowanego na nim Fb i działało. Kiedy zainstalowałem Fb na urządzeniu, nie zostało ono wysłane i ponownie odinstalowane, działa dobrze. Zakładam, że aplikacja Facebook blokuje moją aplikację za pomocą SDK? Podejście, którego używam, jest mniej lub bardziej zgodne z tym ->http://blog.doityourselfandroid.com/2011/02/28/30-minute-guide-integrating-facebook-android-application/ , ale otrzymuję to samo z innymi podejściami.Post na Facebooku na Androida nie działa, gdy aplikacja Facebook jest już zainstalowana na urządzeniu

Widzę, że jest problem z odczytaniem tego ->Post to user facebook wall not working when Facebook app is installed on device/emulator , ale co należy zrobić, aby go rozwiązać? Nie chcę, aby moi użytkownicy musieli odinstalować Fb oczywiście! Czy ktoś znalazł się w takiej samej sytuacji i zdołał go rozwiązać?

Odpowiedz

4

niewielkie zmiany w kodzie (pakiet Facebook)

Look w authorize funkcji w facebook.java pliku. spróbuj comment z singlesignon i użyj tylko startdialog() ... coś takiego .. nadzieję, że to pomaga.

+0

Yo znaczy, że ten kod: // Wolę single sign-on, jeśli są dostępne. if (activityCode> = 0) { singleSignOnStarted = startSingleSignOn (aktywność, mAppId, Uprawnienia activityCode); } // W przeciwnym razie należy wrócić do tradycyjnego okna dialogowego. if (! SingleSignOnStarted) { StartDialogAuth (aktywność, uprawnienia); } należy zmienić na: -> startDialogAuth (aktywność, uprawnienia); , aby SSO zostało wyłączone? – george

+0

w com.facebook.android komentarz startSingleSignOn() fuction i startDialogAuth (aktywność, uprawnienia); włączyć. (nie komentuj tej linii: –

+0

Miałem pewne problemy z uwierzytelnianiem, ale teraz działa. – george

2

Mam do czynienia z tym samym problemem i musiałem wyłączyć funkcję jednokrotnego logowania, aby umożliwić jej działanie.

0

powyżej odpowiedzi udzielonej przez Raja jest idealny ..

to co zrobiłem i działało idealnie ... wcześniej znalazłem trudno zrozumieć, co dokładnie zrobić ...

tak to co zrobiłem ... nadzieję, może to pomóc innym

// Prefer single sign-on, where available. 
//  if (activityCode >= 0) { 
//   singleSignOnStarted = startSingleSignOn(activity, mAppId, 
//     permissions, activityCode); 
//  } 
// Otherwise fall back to traditional dialog. 
Powiązane problemy