gpt4 book ai didi

android - Session.StatusCallback Facebook Android sdk3.0 onActivityResult 和 onComplete 的区别

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:50:53 25 4
gpt4 key购买 nike

我正在使用 Facebook Android sdk3.0。我想在用户通过 Facebook 成功登录后做一些事情。我应该在 onActivityResult 还是 Session.StatusCallbackonComplete 函数中实现它?

其实这两者有什么区别吗?我可以假设 Session.StatusCallback onComplete 总是在 onActivityResult 之后调用吗?

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);
// Do Something Here?
}


private class SessionStatusCallback implements Session.StatusCallback {

@Override
public void call(Session session, SessionState state, Exception exception) {

if (session.isOpened()) {
// Or Do Something Here?
}
}
}

最佳答案

简短的回答是,你应该两者兼顾。

onActivityResult 是必需的,因为您需要将信息传递给 Facebook SDK,以便 SDK 验证用户是否已接受条款和权限。一旦 SDK 验证了所有内容,它就会使用新状态或发生的任何错误调用 SessionStatusCallback.call。

当你打开一个新 session 时,它会首先转换到 OPENING 状态(这将调用你的回调),然后它会进行 SSO,当 SSO 完成时,你的 onActivityResult 将被调用(此时你应该调用 session.onActivityResult 或 uiLifecycleHelper.onActivityResult),然后 session 将转换为打开状态,这将再次调用您的回调。

关于android - Session.StatusCallback Facebook Android sdk3.0 onActivityResult 和 onComplete 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13890011/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com