2014-02-20 1 views
0

안녕하세요, Facebook에서 로그인을 사용하려고합니다.No Session.StatusCallback received

제 문제는 전화를받지 못하는 것입니다.

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

당신이 당신의 콜백을 등록해야합니다 :

여기 내 코드입니다. 다음과 같이해야합니다.

private Session.StatusCallback statusCallback = new SessionStatusCallback(); .

는 .....

은 내가 ONSTART 방법

Session.getActiveSession() 다음 addCallBack (statusCallback) 내 콜백을 등록;

와 나는 중지시 방법

Session.getActiveSession()에서 제거 removeCallback은 (statusCallback).;

감사

마이클

관련 문제