SessionState.OPENED_TOKEN_UPDATED在Facebook SDK 3.0.1b for Android中的含义

时间:2012-12-05 10:40:12

标签: android facebook facebook-android-sdk

我正在开发一个应用程序,它有代码,我用FacebookActivity扩展了我的课程,我想知道OPENED_TOKEN_UPDATED意味着什么以及此部分何时执行

if (state.equals(SessionState.OPENED_TOKEN_UPDATED)) { 
                        //WHEN THIS PORTION WILL EXECUTE
                    }

Facebook文件不太好。见下面的代码

    @Override
    protected void onSessionStateChange(SessionState state, Exception exception) {
        if (isResumed) { //if its a visible activity
            FragmentManager manager = getSupportFragmentManager();
            int backStackSize = manager.getBackStackEntryCount(); //get number of entries currently in the back-stack
            for (int i = 0; i < backStackSize; i++) {
                manager.popBackStack(); //clear fragment back-stack before new fragment is added
            }
            if (state.isOpened()) {
                if (state.equals(SessionState.OPENED_TOKEN_UPDATED)) { 
                    //WHEN THIS PORTION WILL EXECUTE
                }else{
                    //replace fragment on main with promo fragment
                    FragmentTransaction transaction = manager.beginTransaction();
                    transaction.replace(R.id.body_frame, fragments[NextFgragment]).commit();

                }
            } else if (state.isClosed()) {

                //replace fragment on main with login fragment
            }
        }
    }

3 个答案:

答案 0 :(得分:2)

当您最初打开会话时,它将处于SessionState.OPENED状态。如果您发出重新授权请求,或者令牌被刷新,那么它将处于OPENED_TOKEN_UPDATED状态。

通常,您可以将OPENED和OPENED_TOKEN_UPDATED视为相同,但有时(如果您请求更多权限),您将想知道令牌何时更新。

答案 1 :(得分:1)

您可以暂停此代码

if (state.equals(SessionState.OPENED_TOKEN_UPDATED)) { 
                    //WHEN THIS PORTION WILL EXECUTE
                }

答案 2 :(得分:0)

SessionState.OPENED_TOKEN_UPDATED说的文档:

“表示会话已打开且令牌已更改。在此状态下,会话可与请求一起使用。”

代码部分是有用的,如果需要在令牌更改时执行某些操作