xia*_*xin 4 android facebook facebook-android-sdk facebook-authorization
我正在使用Facebook Android sdk3.0.用户通过Facebook成功登录后,我想做点什么.我应该在里面实现它onActivityResult还是onComplete功能Session.StatusCallback?
实际上这两者有什么区别吗?我可以假设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?
}
}
}
Run Code Online (Sandbox Code Playgroud)
简短的回答是,你应该做到这两点.
需要onActivityResult,因为您需要将信息传递给Facebook SDK,以便SDK验证用户是否已接受条款和权限.一旦SDK验证了所有内容,它就会使用新状态或发生的任何错误调用SessionStatusCallback.call.
当你打开一个新的会话时,它将首先转换到OPENING状态(它将调用你的回调),然后它将执行SSO,当SSO完成时,你的onActivityResult将被调用(此时你应该调用session. onActivityResult或uiLifecycleHelper.onActivityResult),然后会话将转换到OPENED状态,这将再次调用您的回调.
| 归档时间: |
|
| 查看次数: |
2676 次 |
| 最近记录: |