TileService
to powiązana usługa. Twoje TileService
jest powiązane w wyniku żądania aplikacji lub jeśli system musi się z nim komunikować. Typowy cykl życia usługi powiązanej zawiera 4 metody wywołania zwrotnego: onCreate()
, onBind()
, onUnbind()
i onDestroy()
. System wywołuje te metody za każdym razem, gdy usługa wchodzi w nową fazę cyklu życia.
Oprócz wywołań zwrotnych, które kontrolują cykl życia powiązanej usługi, możesz też implementować inne metody związane z cyklem życia TileService
. Wszystkie usługi kafelków muszą implementować onTileRequest()
i onTileResourcesRequest()
, aby odpowiadać na żądania aktualizacji z systemu.
onTileAddEvent()
: system wywołuje tę metodę tylko wtedy, gdy użytkownik po raz pierwszy dodaje kafelek i gdy usuwa go, a następnie dodaje ponownie. To najlepszy moment na wykonanie jednorazowej inicjalizacji.onTileAddEvent()
jest wywoływany tylko wtedy, gdy zestaw kafelków jest przekonfigurowany, a nie za każdym razem, gdy system tworzy kafelek. Na przykład po ponownym uruchomieniu lub włączeniu urządzenia funkcjaonTileAddEvent()
nie jest wywoływana w przypadku kafelków, które zostały już dodane. Możesz użyć kodugetActiveTilesAsync()
, aby uzyskać podgląd, które Twoje kafelki są aktywne.onTileRemoveEvent()
: system wywołuje tę metodę tylko wtedy, gdy użytkownik usunie Twoją kartę.onTileEnterEvent()
: system wywołuje tę metodę, gdy kafelek tego dostawcy pojawi się na ekranie.onTileLeaveEvent()
: system wywołuje tę metodę, gdy kafelek udostępniony przez tego dostawcę znika z ekranu.onTileRequest()
: system wywołuje tę metodę, gdy prosi o nową oś czasu od tego dostawcy.onTileResourcesRequest()
: system wywołuje tę metodę, gdy prosi o pakiet zasobów od tego dostawcy. Może się to zdarzyć podczas pierwszego wczytania kafelka lub za każdym razem, gdy zmienia się wersja zasobu.
Zapytanie o to, które kafelki są aktywne
Aktywne karty to karty, które zostały dodane do wyświetlania na zegarku. Aby sprawdzić, które kafelki należące do Twojej aplikacji są aktywne, użyj statycznej metody TileService
getActiveTilesAsync()
.