我正在开发一个应用程序,它的代码中我用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
}
}
}发布于 2012-12-06 01:16:45
最初打开会话时,它将处于SessionState.OPENED状态。如果您发出重新授权请求,或者如果令牌被刷新,则它将处于OPENED_TOKEN_UPDATED状态。
通常,您可以将打开的令牌和OPENED_TOKEN_UPDATED视为相同的令牌,但有时(例如,如果您请求更多的权限),您可能希望知道令牌何时更新。
发布于 2012-12-05 22:25:19
您可以直接禁用此代码
if (state.equals(SessionState.OPENED_TOKEN_UPDATED)) {
//WHEN THIS PORTION WILL EXECUTE
}发布于 2012-12-06 00:00:19
SessionState.OPENED_TOKEN_UPDATED的文档说:
“指示会话已打开且令牌已更改。在此状态下,会话可与请求一起使用。”
如果在令牌更改时需要执行某些操作,则该部分代码非常有用
https://stackoverflow.com/questions/13721317
复制相似问题