2013-08-07 4 views
0

Теперь, когда я добавил в свой аккаунт facebook LoginButton, чтобы разрешить вход с Facebook. поведение «по умолчанию», как это (я не делал много изменений):Facebook SDK 3 для Android - Войти с помощью приложения facebook

Сценарий (A) Если пользователь установил официальное приложение facebook, это будет вызывать приложение, логин автоматически, и показать диалог с запросом разрешения. Сценарий (B) Или, если у пользователя нет приложения facebook, появится веб-страница (например, WebView), попросите пользователя войти в систему, а затем спросить разрешения через веб-интерфейс.

Он действует так: Facebook login not working with facebook application

Мое приложение работает отлично на AVD эмулятор для обоих сценариев, но «Сценарий (A)» НЕ РАБОТАЕТ НА мой АКТУАЛЬНОМ DEVICE. После входа в систему, он показывает

enter image description here

Кто-нибудь столкнется с такой же проблемой? Есть ли способ решить проблему? Или есть способ заставить приложение выполнить вход в систему с помощью веб-интерфейса?

Большое вам спасибо!

Вот Java и XML Компоновка коды:

LoginButton authButton = (LoginButton) view.findViewById(R.id.fb_loginBtn); 
    authButton.setFragment(this); 
    authButton.setReadPermissions(Arrays.asList("basic_info", "email", "read_friendlists")); 
    authButton.setOnErrorListener(fbErrorListener); 
    authButton.setSessionStatusCallback(callback); 

<com.facebook.widget.LoginButton 
       xmlns:fb="http://schemas.android.com/apk/res-auto" 
       android:id="@+id/fb_loginBtn" 
       android:layout_width="200dp" 
       android:layout_height="50dp" 
       android:layout_gravity="center_vertical|center_horizontal" 
       android:background="@drawable/reg_fb" 
       fb:login_text="Facebook" /> 
+0

Вы использовали свои кейсы прямо? У меня всегда было 2 keyhash: в эмуляторе - отладочная версия, еще одна для устройства - релиз. –

+0

А может быть, приложение FB на устройстве слишком устарело? У меня есть клиент, у которого есть старое приложение, предварительно установленное на его Android-устройстве, так что это было похоже на поведение. –

+0

Приложение FB является новым ... Однако я не знаю, использую ли я правильный keyhash, я использую тот, который находится в C: \ User \ myname \ .android \ debug.keystore. Что мне использовать вместо этого? Благодарю. –

ответ

0

это не рекомендуется использовать только веб , но если это действительно необходимо:

LoginButton authButton = (LoginButton) view.findViewById(R.id.authButton); 
//other code ... 
authButton.setLoginBehavior(SessionLoginBehavior.SUPPRESS_SSO); 
+0

Спасибо, но есть способ разрешить автозапуск, когда пользователь уже зарегистрировался в facebook? –

+0

Не могу сказать точно, но если я хорошо помню, у нас было приложение с веб-fb login, и у нас нет этой функции; userflow был: user click login with fb butoon, затем всплывающие окна fb, он вводит учетные данные, мы установили параметр напоминания по электронной почте, а позже мы запоминаем пользователя, пока он не выйдет из системы или не переустановит приложение, или просто не очистит все данные приложения в настройках. –

+0

Вероятно, вы не можете, потому что всплывающее окно является веб-просмотром, пользователь ранее не регистрировался там, так как он использует внешний браузер для использования своей facebook. –

0

Просьба обновить установленное приложение facebook. В соответствии с моим опытом работы Facebook SDK openGraph поддерживает приложение facebook версии 1.9.8 для текущей версии.