Android 未收到会话状态回调
你好,我正在尝试使用facebook登录 我的问题是我没有接到回电 这是我的密码:Android 未收到会话状态回调,android,facebook-graph-api,android-facebook,Android,Facebook Graph Api,Android Facebook,你好,我正在尝试使用facebook登录 我的问题是我没有接到回电 这是我的密码: private void onClickLogin() { Session currentSession = Session.getActiveSession(); if (currentSession == null || currentSession.getState().isClosed()) { Session session = new Sess
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");
}
private void onClickLogin(){
会话currentSession=Session.getActiveSession();
如果(currentSession==null | | currentSession.getState().isClosed()){
Session Session=new Session.Builder(this.build();
Session.setActiveSession(Session);
当前会话=会话;
}
//询问用户名和密码
OpenRequest op=newsession.OpenRequest((活动)this);
op.setLoginBehavior(SessionLoginBehavior.SUPPRESS_SSO);
op.setCallback(空);
列表权限=新建ArrayList();
//权限。添加(“发布操作”);
权限。添加(“用户照片”);
权限。添加(“好友照片”);
权限。添加(“读取流”);
权限。添加(“阅读洞察”);
权限。添加(“read_friendlists”);
权限。添加(“电子邮件”);
权限。添加(“发布操作”);
op.setPermissions(权限);
Session Session=new Session.Builder(this.build();
Session.setActiveSession(Session);
openForPublish(op);
}
@凌驾
ActivityResult上受保护的void(int请求代码、int结果代码、,
意向数据(2){
Session.getActiveSession().onActivityResult(RegisterPage.this、requestCode、resultCode、data2);
}
rivate类SessionStatusCallback实现Session.StatusCallback{
@抑制警告(“弃用”)
@凌驾
公共无效调用(最后一次会话,会话状态,
例外情况(例外情况){
Log.i(“测试”、“测试”);
}
}您需要注册回拨。你应该这样做 private Session.StatusCallback StatusCallback=新会话StatusCallback() 我在onStart方法中注册回调 Session.getActiveSession().addCallback(statusCallback) 我在onStop方法中删除它 Session.getActiveSession().removeCallback(statusCallback) 问候 迈克尔