Pytanie dowiedzieć się, która aktywność rozpoczęła moją działalność?


Chcę się dowiedzieć, która aktywność rozpoczęła moją działalność w Androidzie. Mogę uzyskać intencję, która rozpoczęła działanie za pomocą "getIntent ()", ale nie jestem w stanie dowiedzieć się, która aktywność zaczęła intencję w pierwszej kolejności.

czekam na twoją pomoc. z góry dziękuję.


21
2018-03-17 08:15


pochodzenie


Myślę, że musisz umieścić dodatkowy ciąg w intencji w każdym miejscu, od którego otwierasz swoją aktywność, i w tym dodatkowym ciągu możesz podać swoją nazwę działalności oraz w działaniu, w którym otrzymujesz dodatki z intencji, możesz sprawdzić ten dodatkowy ciąg i ustal, który intencyjny cel określa twoją działalność. - Jaydip Kalkani


Odpowiedzi:


Posługiwać się getCallingActivity()

Uwaga: jeśli działanie wywołujące nie oczekuje wyniku (to znaczy, że nie używało go startActivityForResult(Intent, int) formularz, który zawiera kod żądania), wówczas pakiet wywołujący będzie pusty


25
2018-03-17 08:28



To działałoby, gdyby bieżąca aktywność została stwierdzona za pomocą startActivityForResult (Intent, int), w przeciwnym razie zwracałaby wartość zerową - Omar Rehman


Możesz użyć AppCompat.getReferrer() w tym celu.


3
2018-01-03 13:21



Działa to również w przypadku działań rozpoczętych za pomocą intencji z innej aplikacji - Mehmet K