我正在使用fb SDK v2.2 for android,我遵循了教程,所以我不打算在这里重复代码。我正在使用Android sdk的loginbutton,我设置uiHelper在会话开始时回调
uiHelper = new UiLifecycleHelper(this, new Session.StatusCallback() {
@Override
public void call(Session session, SessionState state, Exception exception) {
onSessionStateChange(session, state, exception);
}
});
当用户通过单击fb登录按钮登录时,将调用onSessionStateChange(预期)并调用某个代码初始化用户信息。
现在,如果用户杀死了该应用。然后再次打开应用程序,它从用户登录的事实开始(很棒)。问题是,再次调用onSessionStateChange然后我基于会话状态被打开的事实(就像用户再次登录一样)结束“做另一项繁重的工作”。我不想要这种行为。我只是想在用户点击登录时执行这项繁重的工作,并且实际上不是每次打开应用程序并且他已经登录时都要通过登录方案。
任何想法如何实现?基本上不要让sessionStateChange调用OR以某种方式区分他点击登录时和他实际登录时的情况。我确定sdk有它但我似乎无法找到它
谢谢
答案 0 :(得分:0)
每次会话状态发生变化时,都会调用StatusCallback.call()方法。当您冷启动一个应用程序并创建一个Session对象时,它将经历几个状态更改,其中每个都会触发一个StatusCallback.call()。
你可以: