0
이 코드는 삼성 JELLYBEAN에서는 onCompleted 메서드가 호출되지만 Motorola KITKAT 또는 LG LOLLYPOP 장치에서는 호출되지 않습니다. 로그는 모든 장치에 W/Facebook test(20699): Facebook session status changed - OPENED - Exception: null
을 반환합니다.FacebookSDK Request.newMeRequest onCompleted가 JELLYBEAN에서 호출되었지만 KITKAT 또는 LOLLYPOP이 아닌 경우
private class SessionStatusCallback implements Session.StatusCallback {
@Override
public void call(Session session, SessionState state, Exception exception) {
String message = "Facebook session status changed - "
+ session.getState() + " - Exception: " + exception;
Log.w("Facebook test", message);
if (session.isOpened()) {
Request.newMeRequest(session, new Request.GraphUserCallback() {
@Override
public void onCompleted(GraphUser user, Response response) {
Log.d("onCompleted","");
}
}).executeAsync();
}
}
}
권한과 해시가 저장되어 있는지 확인했습니다.
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);
}
UPDATE
: 내가 문제 응용 프로그램과 동일한 코드로 테스트 프로젝트를 생성이 내 onActivityResult를 방법이다. 이 프로젝트에는 문제가 없으며 이는 Java 문제가 아님을 나타냅니다. 매니페스트는 페이스 북과 관련하여 동일합니다. 나는 각각의 경우에 올바른 app_id를 가지고있다. developers.facebook.com의 앱 설정은 패키지 이름, 클래스 이름 및 키 해시를 제외하고는 동일합니다.