Mam Location
działanie, które można wywołać z wielu działań, takich jak Sign up
i Order
. W Location
działaniu użytkownik wprowadza swoją lokalizację, więc działanie Location
zwróci tę nową lokalizację do działania, które ją wywołało.
Więc kiedy Sign up
działanie wywołuje Location
działanie, musi zwrócić dane do Sign up
działania. Innym razem Order
czynność zrobi to samo.
Uwaga
Wiem, że powiesz mi, że mam wysłać kod, ale nie proszę o podawanie mi kodu; Chcę tylko wskazówek, linków lub dobrych wątków.
android
android-activity
onactivityresult
użytkownik użytkownika
źródło
źródło
Odpowiedzi:
Aby rozpocząć działanie, które powinno zwrócić wynik do działania wywołującego, powinieneś zrobić coś jak poniżej. Powinieneś przekazać kod żądania, jak pokazano poniżej, aby zidentyfikować wynik rozpoczętej czynności.
W ćwiczeniu możesz
setData()
zwrócić wynik.Więc znowu w pierwszym działaniu piszesz poniższy kod w onActivityResult ()
EDYTUJ na podstawie Twojego komentarza: Jeśli chcesz zwrócić trzy ciągi, postępuj zgodnie z tym, używając par klucz / wartość z intencją zamiast używać Uri.
Zdobądź je w onActivityResult, jak poniżej:
źródło
requestcode
mogę wstawić jakąkolwiek liczbę całkowitą?new Intent(this, OtherActivity.class);
mogę użyć tego kodu w działaniu.Jeśli chcesz zakończyć i po prostu dodać
resultCode
(bez danych), możesz zadzwonićsetResult(int resultCode)
wcześniejfinish()
.Na przykład:
Następnie w swojej aktywności związanej z dzwonieniem sprawdź
resultCode
, czy wszystko w porządku.Nie zapomnij wywołać czynności za pomocą
startActivityForResult(intent, someCustomRequestCode)
.źródło
Activity.RESULT_OK
jest faktycznie-1
, na wypadek, gdyby ktoś myślał. Sugerowałbym po prostu użycieActivity
stałych