Zdarzenia cyklu życia i statystyk

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()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()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 funkcja onTileAddEvent() nie jest wywoływana w przypadku kafelków, które zostały już dodane. Możesz użyć kodu getActiveTilesAsync(), 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().