我意识到这是一个愚蠢的问题,需要删除但是stackoverflow不会让我因为它有答案
我正在尝试使用UserSettingsFragment在我的应用中使用facebook实现登录。会话状态似乎停留在OPENING。它永远不会转向开放。我已经将片段实例化如下
if(userSettingsFragment==null){
userSettingsFragment=new UserSettingsFragment();
Session session = Session.getActiveSession();
if(session==null || session.isClosed()){
userSettingsFragment.setPublishPermissions(Arrays.asList("publish_actions"));
}
userSettingsFragment.setSessionStatusCallback(new Session.StatusCallback(){
@Override
public void call(Session session, SessionState state, Exception exception) {
Log.i("LoginUsingFBMain", String.format("New session state: %s", state.toString()));
}
});
}
fragment=userSettingsFragment;
.
.
.
getFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.content_frame, fragment);
fragmentTransaction.commit();
我也有代码来捕获登录结果。
@Override
protected void onActivityResult(
int requestCode, int resultCode, Intent data) {
if(userSettingsFragment != null)
userSettingsFragment.onActivityResult(requestCode, resultCode, data);
uiHelper.onActivityResult(requestCode, resultCode, data);
}
答案 0 :(得分:0)
您是否覆盖了片段内的onActivityResult()方法?请尝试将其移至活动。
答案 1 :(得分:0)
发现问题。我的哈希是不正确的。较新版本的sdk实际上给了我一个错误信息。