你好我试着用facebook登录。
我的问题是我没有收到回电。
这是我的代码:
private void onClickLogin() {
Session currentSession = Session.getActiveSession();
if (currentSession == null || currentSession.getState().isClosed()) {
Session session = new Session.Builder(this).build();
Session.setActiveSession(session);
currentSession = session;
}
// Ask for username and password
OpenRequest op = new Session.OpenRequest((Activity) this);
op.setLoginBehavior(SessionLoginBehavior.SUPPRESS_SSO);
op.setCallback(null);
List<String> permissions = new ArrayList<String>();
// permissions.add("publish_actions");
permissions.add("user_photos");
permissions.add("friends_photos");
permissions.add("read_stream");
permissions.add("read_insights");
permissions.add("read_friendlists");
permissions.add("email");
permissions.add("publish_actions");
op.setPermissions(permissions);
Session session = new Session.Builder(this).build();
Session.setActiveSession(session);
session.openForPublish(op);
}
@Override
protected void onActivityResult(int requestCode, int resultCode,
Intent data2) {
Session.getActiveSession().onActivityResult(RegisterPage.this, requestCode, resultCode, data2);
}
rivate class SessionStatusCallback implements Session.StatusCallback {
@SuppressWarnings("deprecation")
@Override
public void call(final Session session, SessionState state,
Exception exception) {
Log.i("test", "test");
}
}
答案 0 :(得分:0)
您需要注册回调。你应该做这样的事情
私有Session.StatusCallback statusCallback = new SessionStatusCallback();
.....
我在onStart方法
中注册我的回调Session.getActiveSession()的addCallback(statusCallback);
我在onStop方法
中将其删除Session.getActiveSession()removeCallback(statusCallback);
此致
迈克尔