Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从集成在android应用程序中的facebook登录/注销?_Android_Facebook_Android Facebook_Facebook Sdk 4.0 - Fatal编程技术网

如何从集成在android应用程序中的facebook登录/注销?

如何从集成在android应用程序中的facebook登录/注销?,android,facebook,android-facebook,facebook-sdk-4.0,Android,Facebook,Android Facebook,Facebook Sdk 4.0,我在android应用程序中实现了facebook登录,并在应用程序中使用了登录,但我不知道如何注销用户?登录后,如果我重新启动并重新登录,我总是会看到“您已授权AppName”,并希望获取电子邮件、姓名等用户数据。我使用facebook的目的是授权用户使用应用程序,获取用户信息,然后注销。这就是全部。 这就是我登录的方式 callbackManager = CallbackManager.Factory.create(); LoginButton loginButton = (

我在android应用程序中实现了facebook登录,并在应用程序中使用了登录,但我不知道如何注销用户?登录后,如果我重新启动并重新登录,我总是会看到“您已授权AppName”,并希望获取电子邮件、姓名等用户数据。我使用facebook的目的是授权用户使用应用程序,获取用户信息,然后注销。这就是全部。 这就是我登录的方式

    callbackManager = CallbackManager.Factory.create();
    LoginButton loginButton = (LoginButton)findViewById(R.id.login_button);loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
        @Override
        public void onSuccess(LoginResult loginResult) {

            System.out.println("Facebook Login Successful!");
            System.out.println("Logged in user Details : ");
            System.out.println("--------------------------");
            System.out.println("User ID  : " + loginResult.getAccessToken().getUserId());
            System.out.println("Authentication Token : " + loginResult.getAccessToken().getToken());
            Toast.makeText(RegisterOrSignIn.this, "Login Successful!", Toast.LENGTH_LONG).show();
        }

        @Override
        public void onCancel() {
            Toast.makeText(RegisterOrSignIn.this, "Login cancelled by user!", Toast.LENGTH_LONG).show();
            System.out.println("Facebook Login failed!!");

        }

        @Override
        public void onError(FacebookException e) {
            Toast.makeText(RegisterOrSignIn.this, "Login unsuccessful!", Toast.LENGTH_LONG).show();
            System.out.println("Facebook Login failed!!");
        }
    });
我已经试过了,但是没有得到我想要的

@Override protected void onDestroy() {
    super.onDestroy();
   LoginManager.getInstance().logOut();
}

你的代码是正确的!如果你想第二次显示用户权限,只需从facebook设置->应用程序中删除你的应用程序即可。顺便说一句,注销会清除sdk中的会话和令牌,不会撤销你授予的权限确定我得到了它。但我如何才能避免这种情况,比如若用户已经登录,我就必须在下一个活动中发送给他。如果用户第一次登录时也会将其发送到下一个活动。1)为什么要获取用户数据并将其注销?!这听起来有点可疑2)注销不会撤销权限,因此用户在技术上仍然安装了应用程序。因此,没有任何方法从应用程序从facebook注销?
@Override protected void onDestroy() {
    super.onDestroy();
   LoginManager.getInstance().logOut();
}