当前位置: 代码迷 >> java >> Facebook SDK 4.4。+ | 登录后如何隐藏注销按钮?
  详细解决方案

Facebook SDK 4.4。+ | 登录后如何隐藏注销按钮?

热度:80   发布时间:2023-07-17 20:03:09.0

在应用程序中登录Facebook后,如何隐藏登录按钮? 我要将我的登录(注销)按钮放在menu_login.xml或其他位置。

我的LoginActivity。

public class LoginActivity extends AppCompatActivity {

private LoginButton loginButton;
private CallbackManager callbackManager;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    FacebookSdk.sdkInitialize(getApplicationContext());
    callbackManager = CallbackManager.Factory.create();

    setContentView(R.layout.activity_login);

    loginButton = (LoginButton) findViewById(R.id.login_button);

    // Callback registration
    loginButton.registerCallback(callbackManager, new     FacebookCallback<LoginResult>() {

        @Override
        public void onSuccess(LoginResult loginResult) {
            Intent intent = new Intent (LoginActivity.this,     MainActivity.class);
            startActivity(intent);


        }

        @Override
        public void onCancel() {

        }

        @Override
        public void onError(FacebookException exception) {

        }
    });
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent         data) {
    super.onActivityResult(requestCode, resultCode, data);
    callbackManager.onActivityResult(requestCode, resultCode, data);
}
}

这就是我在menu_login.xml中输入的内容

    <item android:id="@+id/login_button" android:title="Log out"
    android:orderInCategory="10" app:showAsAction="never" />

但是,当我按下注销按钮时,什么也不会发生。

登录后,我也尝试过使用此操作将我从一个活动发送到另一个活动,但是随后出现了更多问题。

 @Override
        public void onSuccess(LoginResult loginResult) {
            Intent intent = new Intent (LoginActivity.this, MainActivity.class);
            startActivity(intent);
  1. 我无法在新的活动中添加“登录/退出”按钮。
  2. 当我按下登录名时,它将快速跳转到注销按钮站点,然后跳转到新的Activity,那很奇怪,所以我不想从一个发送到另一个Activity。

那么,登录后如何隐藏注销按钮?

谢谢。

您可以使用本地广播管理器类,并在您已成功登录Facebook的应用程序中广播。 然后,您的MainActivity(或感兴趣的任何人)将需要收听该广播并采取相应的措施。

更多信息: :

  相关解决方案