2014-05-19 3 views
0

안드로이드 용 facebook sdk 3.14 사용하기 암호를 변경하고 응용 프로그램에 로그인하려고하면 facebook 기본 응용 프로그램이 열리고 새 암호를 입력하라는 메시지가 나타납니다. 문제는 내가 백그라운드에서 내 애플 리케이션을 넣어 다시 내 애플 리케이션을 재개하고 새 비밀 번호를 입력하고 로그인을 누르면 내 세션 OnActivityResult에 null이되면 응용 프로그램이 충돌합니다. 누군가가 세션이 null 또는 처리 방법을 피하는 방법을 제안 할 수 있습니까? 이 표시OnActivityResult에 Facebook 세션 null null

// This method gets the user logged in without any permission(basic 
// permissions which are default will be asked). 
@Override 
public void login() { 
    session = Session.getActiveSession(); 

       if (session == null 
       || session.getState() == SessionState.CLOSED_LOGIN_FAILED 
       || session.getState() == SessionState.CLOSED) { 
      session = new Session(context); 
     } 
     if (!session.isOpened()) { 
      session.openForRead(new Session.OpenRequest(this)); 
     } 
     Session.setActiveSession(session); 

} 


protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    session = Session.getActiveSession(); 
    session.onActivityResult(this.activity, requestCode, resultCode, 
       data); 
    if (resultCode == Activity.RESULT_OK && session.isOpened()) { 
     loginResult(true); 
    } 

    // If the user cancels the login process or it gets cancelled due to 
    // some another reason. 
    if (resultCode == Activity.RESULT_CANCELED) { 
     Log.e("LOGIN", "CANCELLED"); 
     inter.loginResult(false); 
    } 

} 



// Facebook Login Result 
@Override 
public void loginResult(boolean result) { 
    // TODO Auto-generated method stub 
    if (result) { 
     Log.e("Facebook Login ", "Successful"); 
    } else { 
     Log.e("Facebook Logout", "Un Successful"); 
    } 
} 

는 예외입니다 :

java.lang.RuntimeException: Unable to resume activity {com.example.FirstDemo/com.example.FirstDemo.FC_LoginActivity}: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=199188, result=-1, data=Intent { (has extras) }} to activity {com.example.FirstDemo/com.example.FirstDemo.FC_LoginActivity}: java.lang.NullPointerException 
+0

입니까? ?? 전체 logcat 오류를 게시하십시오. – GrIsHu

답변

0

은 아래에보십시오 : 어디 코드 친구가

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    session = Session.getActiveSession(); 
    if(session !=null) 
    { 
     session .onActivityResult(this.activity, requestCode, resultCode, 
       data); 
     if(session.isOpened()) 
     { 
      loginResult(true); 
     } 
     else 
     { 
       loginResult(false); 
     } 
    } 
} 
+0

도와주세요 [여기] (http://stackoverflow.com/questions/24029980/deploy-android-app-through-google-play-private-channel) –