Этот код вызывает метод onCompleted, который вызывается на Samsung JELLYBEAN, но не на устройствах 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();
}
}
}
Я проверил разрешения и сохраненные хеши. Это мой onActivityResult метод:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);
}
UPDATE: Я создал тестовый проект с идентичным кодом для приложения проблемы. Этот проект не имеет проблемы, что говорит о том, что это не проблема Java. Проявления одинаковы в отношении Facebook. У меня есть правильный app_id в каждом случае. Настройки приложений на developers.facebook.com одинаковы, за исключением имени пакета, имени класса и хэша ключа.