Facebook SDK 3 for Android - 使用facebook app登录

时间:2013-08-07 03:17:56

标签: android facebook facebook-sdk-3.0

现在我在我的应用程序中添加了一个facebook LoginButton以允许使用Facebook登录。 “默认”行为是这样的(我没有做太多修改):

情景(A) 如果用户安装了官方Facebook应用程序,它将调用该应用程序,自动登录,并显示一个请求权限的对话框。 情景(B) 否则,如果用户没有Facebook应用程序,将弹出一个网页(如WebView),要求用户登录,然后通过Web界面请求权限。

它的行为如下:Facebook login not working with facebook application

对于这两种情况,我的应用程序在AVD模拟器上完美运行,但“情景(A)”不适用于我的实际设备。登录后,显示

enter image description here

有没有人面临同样的问题?有没有办法解决这个问题? 或者是否有办法强制应用程序使用Web界面执行登录?

非常感谢你!

以下是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" />

2 个答案:

答案 0 :(得分:0)

不建议仅使用网络 但如果确实需要的话:

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

答案 1 :(得分:0)

请更新已安装的Facebook应用程序。根据我的工作经验,Facebook SDK openGraph支持 facebook app version 1.9.8 to current version