简体   繁体   English

退出时Facebook登录按钮android不会调用session.callback方法

[英]Facebook login button android on logout do not call session.callback method

I am creating a small android app and added a facebook book login button. 我正在创建一个小型android应用,并添加了一个Facebook图书登录按钮。 The problem is when I click on the login button it calls the session.callback method creates a session and everything works fine but when I click on the logout button it doesnt call the callback function again. 问题是当我单击登录按钮时它会调用session.callback方法创建一个会话,并且一切正常,但是当我单击注销按钮时,它不会再次调用回调函数。 The session variable is closed as when I bring my app from background to foreground it shows me the correct UI which I want on logging out 会话变量已关闭,因为当我将应用程序从后台移到前台时,它向我显示了我想要注销的正确UI

Here is the code snippet that I am using 这是我正在使用的代码片段

private void onSessionStateChange(Session session, SessionState state,
            Exception exception) {
        try {
            if (state.isOpened()) {
                if(!session.getPermissions().containsAll(SetPermission()))
                    session.requestNewReadPermissions(new NewPermissionsRequest(MainFragment.this, SetPermission()));
                CommonFacebookClass.session = session;
                m_session = session;
                SetBeforeLoginControlVIsiblity(false);
                //HideControls(false);

            } else if (state.isClosed()) {
                Log.i(TAG, "Logged out...");
                //HideControls(true);
                SetBeforeLoginControlVIsiblity(true);           

            } 

        } catch (Exception ex) {
            Utilities.PrintMessageInConsole("NipunError" + ex.getMessage());
        }
    }

    private Session.StatusCallback callback = new Session.StatusCallback() {
        @Override
        public void call(Session session, SessionState state,
                Exception exception) {
            onSessionStateChange(session, state, exception);
        }
    };

@Override
    public void onResume() {
        super.onResume();

        // For scenarios where the main activity is launched and user
        // session is not null, the session state change notification
        // may not be triggered. Trigger it if it's open/closed.
        Session session = Session.getActiveSession();
        if (session != null && (session.isOpened() || session.isClosed())) {
            onSessionStateChange(session, session.getState(), null);
        }

    }

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

    @Override
    public void onPause() {
        super.onPause();
        uiHelper.onPause();
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        uiHelper.onDestroy();
    }

    @Override
    public void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        uiHelper.onSaveInstanceState(outState);
    }

Where am I making mistake? 我在哪里犯错?

try this : when logout button click 试试这个:当注销按钮单击

            SessionManager.clear(getApplicationContext());
            Intent in = new Intent(getApplicationContext(), Login.class);
            startActivity(in);
            finish();

and used this is session manager class : 并使用了会话管理器类:

     public static void clear(Context context) {
    Editor editor = context.getSharedPreferences(KEY, Login.MODE_PRIVATE)
            .edit();
    editor.clear();
    editor.commit();
}

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

相关问题 Android中是否有用于注销Facebook按钮的回调方法? - is there callback methods for logout facebook button in android? 用于在Android中进行简单登录,Facebook,Google登录和注销的会话管理? - Session management for simple login, facebook , google login and logout in android? Android:facebook登录和注销 - Android: facebook login & logout Android登录按钮中的Facebook登录集成在登录后更改为注销 - Facebook login intergration in android login button changes to logout after logged in 如何在 android 中使用一个注销按钮实现 Facebook 和 Google 登录? - How to implement Facebook and Google login with a one logout button in android? 在Facebook Android SDK 4.0中设置按钮的登录/注销文本? - Set Login/Logout Text for Button in Facebook Android SDK 4.0? Android Firebase Facebook登录会在重新打开应用时显示“退出”按钮 - Android Firebase Facebook Login shows Logout button when app is reopened Android Facebook-登录/注销对话框 - Android Facebook - Login / Logout Dialog Android:Facebook登录/注销重叠吗? - Android: Facebook Login/Logout overlapping? Android Facebook登录回调 - Android Facebook login callback
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM