sobota, 7 kwietnia 2018

Mieszanie w zadaniu

Tryb włączania aktywności (activity) i ich powiązanie z aktualnym zadaniem (jeśli ma być jakiś nietypowy) można określić przez manifest lub przez kod aplikacji.

Żeby zmienić naturalny sposób obsługi zadania (task) można zadeklarować to w manifeście podając odpowiednie atrybuty do taga <activity>:
  • taskAffinity
  • launchMode
  • allowTaskReparenting
  • clearTaskOnLaunch
  • alwaysRetainTaskState
  • finishOnTaskLaunch
A w aplikacji można posłużyć się odpowiednimi flagami przy wywoływaniu aktywności:
  • FLAG_ACTIVITY_NEW_TASK
  • FLAG_ACTIVITY_CLEAR_TOP
  • FLAG_ACTIVITY_SINGLE_TOP
W przypadku, gdy jedna aktywność wywołuje drugą i obie mają zadeklarowane w jaki sposób ta druga aktywność ma być powiązana z zadaniem, wyższy priorytet ma informacja od aktywności wywołującej.

Ważne - android doskonale radzi sobie ze swoimi zadaniami, kiedy mu się w tym nie przeszkadza. Mieszając w zadaniach należy bardzo dokładnie przetestować wszystkie przypadki cofania z różnych aktywności - upewnić się, że stos będzie odpowiednio obsłużony i aplikacja nie przestanie działać.

Brak komentarzy:

Prześlij komentarz