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. UsegetActiveTilesAsync()
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.