简体   繁体   English

Android Facebook:在一个活动中登录并在另一个活动中注销

[英]Android Facebook: Login in One activity and Logout in another activity

From my App, I'm trying accessing facebook. 从我的应用程序,我正在尝试访问Facebook。 The requirement will be like in two activity's I can log in to facebook and from only one activity I can log out. 要求就像在两个活动中一样,我可以登录到Facebook,而从一个活动中我可以注销。 Consider Activity A and B, I can log in to facebook both from activity A and B and I can log out only from activity B after logout from activity B, if I try to access facebook from activity A it should ask for login. 考虑活动A和B,我可以同时从活动A和B登录到Facebook,并且只能在从活动B注销后才能从活动B注销,如果我尝试从活动A访问Facebook,则应该要求登录。 Right now it not asking from login, directly showing App authentication page 现在它不要求登录,直接显示App身份验证页面 在此处输入图片说明

It is not logging out properly. 它没有正确注销。 Here is my code. 这是我的代码。

protected Handler mHandler = new Handler();
private final class FBLogoutListener implements RequestListener {
    @Override
    public void onComplete(String arg0, Object arg1) {
        mHandler.post(new Runnable() {
            @Override
            public void run() {
                Log.w(TAG,"onComplete:");
                FacebookUtility.clear();
            }
        });
    }
    @Override
    public void onFacebookError(FacebookError arg0, Object arg1) {}
    @Override
    public void onFileNotFoundException(FileNotFoundException arg0,
            Object arg1) {}
    @Override
    public void onIOException(IOException arg0, Object arg1) {}

    @Override
    public void onMalformedURLException(MalformedURLException arg0,
            Object arg1) {}
}

AsyncFacebookRunner facebookRunner = new AsyncFacebookRunner(FacebookUtility.mFB);
FBLogoutListener logoutListener = new FBLogoutListener();
facebookRunner.logout(this,logoutListener);

Any solution for this, where I'm doing mistakes. 我正在犯错的任何解决方案。

If you are using Login manager class to login then this one line code is enough. 如果您使用登录管理器类登录,那么这一行代码就足够了。

// Facebook logout
            LoginManager.getInstance().logOut();

This worked for me.. 这对我有用。

FB Logout in another activity : FB注销另一个活动:

// fb logout // fb注销

    Session session = Session.getActiveSession();
                                if (session != null) {
                                    if (!session.isClosed()) {
                                        session.closeAndClearTokenInformation();
                                    }
                                } else {
                                    session = new Session(MainActivity.this);
                                    Session.setActiveSession(session);
                                    session.closeAndClearTokenInformation();
                                }

                                preferenceHelper.onLogOut();
                                finish();
                                startActivity(new Intent(MainActivity.this,
                                        LoginActivity.class));

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

相关问题 Android谷歌:在另一项活动中注销谷歌 - Android google: Logout google in another activity 成功登录android facebook应用程序并在新页面上获取注销按钮后如何开始新活动并隐藏登录页面 - How to start a new activity and hide login page after successful login in android facebook app and get logout button on new page Android:facebook登录和注销 - Android: facebook login & logout 从另一个活动中注销GoogleApiClient - logout GoogleApiClient from another activity 如何将另一个活动添加为登录屏幕Android - How to add another activity as a login screen android Facebook登录后将活动重定向到Frontpage活动 - Redirect activity to Frontpage activity after facebook login 如何在Android中将哈希映射数组从一个活动发送到另一个活动 - How to send array of Hashmap from one activity to another activity in android Android复选框选中一个活动,然后按钮出现在另一个活动中 - Android checkbox checked in one activity and then button appears in another activity 如何将多个记录从一个活动传递到android中的另一个活动? - How to pass multiple records from one activity to another activity in android? 如何在Android中将两个字符串从一个活动传递到另一个活动 - How to pass two Strings from one Activity to another Activity in Android
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM