Nie powinieneś naprawdę przejmować się rzeczywistą wartością wewnętrznie użytego kodu żądania Facebooka, ponieważ w wyniku CallbackManager.onActivityResult(requestCode, resultCode, data)
dowiesz się, czy zostało ono obsłużone, czy nie. Oznacza to, że najpierw zaoferować wynik do CallbackManager
. Jeśli wskazuje, że był obsługiwany, wszystko gotowe. Jeśli nie był obsługiwany, jest to jeden z twoich pozostałych wyników kodu żądania, więc kontynuuj logikę, którą już masz.
Z docs on CallbackManager
:
/**
* The method that should be called from the Activity's or Fragment's onActivityResult method.
* @param requestCode The request code that's received by the Activity or Fragment.
* @param resultCode The result code that's received by the Activity or Fragment.
* @param data The result data that's received by the Activity or Fragment.
* @return true If the result could be handled.
*/
public boolean onActivityResult(int requestCode, int resultCode, Intent data);
Zanotuj @return
uwaga.
Więc w zasadzie, kod powinien być skonstruowany nieco jak poniżej:
@Override public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
boolean handled = callbackManager.onActivityResult(requestCode, resultCode, data);
if (handled) { /* all done */ }
else { /* result wasn't handled by the callback manager, so check for other potential request codes */ }
}
Jeśli naprawdę chcesz, możesz zanurzyć się w źródle Facebook SDK prześledzić pochodzenie kodu żądania. W szczególności odwołaj się do CallbackManagerImpl
, gdzie statyczne wywołania zwrotne są konfigurowane z predefiniowanym przesunięciem kodu żądania.
: kod żądanie '64206' jest po prostu' 0xface'. Sprawdź odpowiedź poniżej. –
Podobnie, kod żądania '64207' jest' CallbackManagerImpl.RequestCodeOffset.Share.toRequestCode() '. –