Facebook Android SDK 自动登录



我正在使用以下facebook-sdk版本:

com.facebook.android:facebook-android-sdk:4.+

我使用默认的脸书登录按钮作为登录视图

<com.facebook.login.widget.LoginButton
    android:id="@+id/login_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="85dp" />`

使用以下 Java 代码

 LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList(permissions));
 LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
        @Override
        public void onSuccess(LoginResult loginResult) {
       //details intentionally hidden
 }

但是对于注销,我使用一个自定义按钮,单击该按钮时

执行以下操作
LoginManager.getInstance().logOut();
AccessToken.setCurrentAccessToken(null);

但是Facebook登录按钮无需点击即可重新登录!这只是连续循环!

我该怎么办?

您需要

LoginButton注册回调,以便它仅在单击按钮时调用。

使用以下代码:在OnCreate()

 loginButton = (LoginButton) findViewById(R.id.login_button);
 List<String> permissionNeeds = Arrays.asList( "public_profile", "email", "user_birthday", "user_friends");
loginButton.setReadPermissions(permissionNeeds);
loginButton.registerCallback(callbackManager,
        new FacebookCallback<LoginResult>() {
         @Override
            public void onSuccess(LoginResult loginResult) { and so on }

最新更新