我正在使用自定义 Facebook 登录按钮。这是我的代码。我正在使用 session 管理器来存储整个应用程序的电子邮件和名称。我在第三个 Activity 中使用了注销按钮。

如何从 Facebook 注销

public void FB_Login(View view){

    callbackManager = CallbackManager.Factory.create();


    LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("public_profile", "email"));

       LoginManager.getInstance().registerCallback(callbackManager,
               new FacebookCallback<LoginResult>() {
                   @Override
                   public void onSuccess(LoginResult loginResult) {
//                       AccessToken.getCurrentAccessToken().getPermissions();
//                       Profile profile = Profile.getCurrentProfile();
//                       String firstName = profile.getFirstName();
//                       System.out.println(profile.getProfilePictureUri(20,20));
//                       System.out.println(profile.getLinkUri());

                       // App code
                       AccessToken.getCurrentAccessToken().getPermissions();

                       GraphRequest request = GraphRequest.newMeRequest(
                               loginResult.getAccessToken(),

                               new GraphRequest.GraphJSONObjectCallback() {
                                   @Override
                                   public void onCompleted(
                                           JSONObject object,
                                           GraphResponse response) {
                                       // Application code
                                       try {
                                           email = object.getString("email");

                                           name=object.getString("name");

// Creating user login session
                                           // For testing i am stroing name, email as follow
                                           // Use user real data
                                           session.createLoginSession(name, email);

                                           // Staring MainActivity
                                            if (session.isLoggedIn()) {
                                                in = new Intent(HomePageActivity.this, HomeSearchActivity.class);
                                                in.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

                                                // Add new Flag to start new Activity
                                                in.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                                                startActivity(in);

                                                finish();

                                            }
                                       } catch (JSONException e) {
                                           e.printStackTrace();
                                       }
                                       Log.v("LoginActivity", response.toString());
                                   }
                               });
                       Bundle parameters = new Bundle();
                       parameters.putString("fields", "id,name,email,gender, birthday");
                       request.setParameters(parameters);
                       request.executeAsync();

                   }

                   @Override
                   public void onCancel() {
                       // App code
                       Log.v("LoginActivity", "cancel");
                   }

                   @Override
                   public void onError(FacebookException exception) {
                       // App code
                       Log.v("LoginActivity", exception.getCause().toString());
                   }
               });


}

任何人都可以帮助我。请。

最佳答案

您需要使用:

LoginManager.getInstance().logOut();

关于android - 在 android 中从 Facebook 注销的代码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32044222/

10-11 03:45
查看更多