Dlaczego interfejs Android na Facebooku nie działa z fragmentami?

Zmieniam trochę AndroidaFacebook kod zActivity do aFragment. Przed przełączeniem wszystko działało dobrze, ale terazonComplete() wywołanie zwrotne nie jest wykonywane.

Czy kod Facebooka nie działaPaprochy, czy robię coś złego?

Oto oryginalny kod (w aSherlockActivity):

if (!mFacebook.isSessionValid()) {
    mFacebook.authorize(MyActivity.this, permissions, new DialogListener() {
        @Override
        public void onComplete(Bundle values) { ... }    // CALLED AS EXPECTED
    }
}

A oto nowy kod (w SherlockFragment):

if (!mFacebook.isSessionValid()) {
    mFacebook.authorize(getActivity(), permissions, new DialogListener() {
        @Override
        public void onComplete(Bundle values) { ... }    // DOES NOT GET CALLED
    }
}

Zarówno Activity, jak i Fragment zawierają ten sam onActivityResult (), który jest wymagany przez Facebooka:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    mFacebook.authorizeCallback(requestCode, resultCode, data);
}

Dzięki za pomoc!

EDYCJA: Zadawane jest podobne pytanietutaj, gdzie zaakceptowaną odpowiedzią jest zmianaFragment do aFragmentActivity. Ale nie widzę, jak to pomaga, bo wtedy już nie jestFragment (czego potrzebuję z innych powodów). Propozycje?

EDYCJA 2: Rzuciłem własne rozwiązanie. Zobacz poniżej.

questionAnswers(5)

yourAnswerToTheQuestion