Eventos de ciclo de vida e de análise

TileService é um serviço vinculado. O TileService é vinculado como resultado da solicitação do app ou se o sistema precisar se comunicar com ele. Um ciclo de vida de serviço vinculado típico contém os quatro métodos de callback a seguir: onCreate(), onBind(), onUnbind() e onDestroy(). O sistema invoca esses métodos sempre que o serviço entra em uma nova fase do ciclo de vida.

Além dos callbacks que controlam o ciclo de vida do serviço vinculado, é possível implementar outros métodos específicos para o ciclo de vida TileService. Todos os serviços de blocos precisam implementar onTileRequest() e onTileResourcesRequest() para responder a solicitações de atualizações do sistema.

  • onTileAddEvent(): o sistema chama esse método apenas quando o usuário adiciona o Bloco pela primeira vez e se o usuário remover e adicionar o bloco novamente. Esse é o melhor momento para fazer qualquer inicialização única.

    O onTileAddEvent() só é chamado quando o conjunto de blocos é reconfigurado, não sempre que um bloco é criado pelo sistema. Por exemplo, quando o dispositivo é reinicializado ou ligado, onTileAddEvent() não é chamado para os blocos que já foram adicionados. Use getActiveTilesAsync() para conferir um snapshot dos blocos seus que estão ativos.

  • onTileRemoveEvent(): o sistema chama esse método somente se o usuário remover o bloco.

  • onTileEnterEvent(): o sistema chama esse método quando um Bloco fornecido por esse provedor aparece na tela.

  • onTileLeaveEvent(): o sistema chama esse método quando um Bloco fornecido por esse provedor sai da tela.

  • onTileRequest(): o sistema chama esse método quando solicita uma nova linha do tempo desse provedor.

  • onTileResourcesRequest(): o sistema chama esse método quando solicita um pacote de recursos desse provedor. Isso pode acontecer na primeira vez que um Bloco é carregado ou sempre que a versão do recurso muda.

Consultar quais blocos estão ativos

Os blocos ativos são os que foram adicionados para exibição no relógio. Use o método estático getActiveTilesAsync() do TileService para consultar quais blocos pertencentes ao seu app estão ativos.