简体   繁体   English

Facebook Android SDK自动登录

[英]Facebook Android SDK Automatically Logging In

I am using the following facebook-sdk version: 我使用以下facebook-sdk版本:

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

I use the default facebook login button for the login view 我使用登录视图的默认Facebook登录按钮

<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" />`

With the following Java code 使用以下Java代码

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

But for logging out, I use a custom button where on click I do the following 但是对于注销,我使用自定义按钮点击其中我执行以下操作

LoginManager.getInstance().logOut();
AccessToken.setCurrentAccessToken(null);

But the Facebook login button re logs in without being clicked! 但Facebook登录按钮重新登录而不点击! This just loops continuously! 这只是不断循环!

What should I do? 我该怎么办?

You need to register the callback with LoginButton so it only calls when button is clicked. 您需要使用LoginButton注册回调,因此它仅在单击按钮时调用。

use below code: in OnCreate() 使用下面的代码:在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 }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM