我使用 com.facebook.widget.UserSettingsFragment 在我的应用程序中管理登录/注销 Facebook:
UserSettingsFragment userSettingsFragment = new UserSettingsFragment();
Session session = Session.getActiveSession();
if(session==null || session.isClosed()){
userSettingsFragment.setPublishPermissions(Arrays.asList("publish_actions"));
}
fragmentTransaction.replace(R.id.content_container, userSettingsFragment, "userSettingsFragment");
在另一个Fragment
(但相同Activity
)中,在 Facebook 上发布之前,我正在检查我是否使用
Session session = Session.getActiveSession();
if (session != null && session.isOpened()){
publishOnFacebook(intent.getExtras());
}
当我启动我的应用程序并尝试发布时,null
Session
虽然我之前登录过,但我总是得到一个。当我开始时UserSettingsFragment
,它表明我已连接。
如果我真的连接了怎么Session.getActiveSession();
办?null
此外,如果Fragment
我在之后立即开始我进行发布的地方UserSettingsFragment
,我会得到正确的Session
,即:
1 start the app
2 call `Session.getActiveSession()` in another `Fragment` returns `null`
3 start `UserSettingsFragment` shows that I'm log
但
1 start the app
2 start `UserSettingsFragment` shows that I'm log
3 call `Session.getActiveSession()` in another `Fragment` returns a session
有人可以帮忙吗?