TileService
はバインドされたサービスです。TileService
は、アプリのリクエストの結果として、またはシステムが通信する必要がある場合にバインドされます。一般的なバインド サービスのライフサイクルには、onCreate()
、onBind()
、onUnbind()
、onDestroy()
の 4 つのコールバック メソッドが含まれます。サービスが新しいライフサイクル フェーズに入るたびに、これらのメソッドが呼び出されます。
バインドされたサービスのライフサイクルを制御するコールバックに加えて、TileService
ライフサイクルに固有の他のメソッドを実装できます。すべてのタイルサービスは、システムからの更新リクエストに応答するために onTileRequest()
と onTileResourcesRequest()
を実装する必要があります。
onTileAddEvent()
: ユーザーがタイルを初めて追加したとき、およびユーザーがタイルを削除して再度追加した場合にのみ、システムがこのメソッドを呼び出します。1 回限りの初期化を行うには、このタイミングが最適です。onTileAddEvent()
は、システムによってタイルが作成されるたびに呼び出されるのではなく、タイルのセットが再構成される場合にのみ呼び出されます。たとえば、デバイスが再起動または電源投入された場合、すでに追加されているタイルはonTileAddEvent()
で呼び出されません。代わりにgetActiveTilesAsync()
を使用して、ユーザーに属する有効なタイルのスナップショットを取得できます。onTileRemoveEvent()
: ユーザーがタイルを削除した場合にのみ、システムがこのメソッドを呼び出します。onTileEnterEvent()
: このプロバイダが提供するタイルが画面に表示されたときに、システムがこのメソッドを呼び出します。onTileLeaveEvent()
: このプロバイダが提供するタイルが画面から外れたときに、システムがこのメソッドを呼び出します。onTileRequest()
: システムがこのプロバイダから新しいタイムラインをリクエストすると、このメソッドが呼び出されます。onTileResourcesRequest()
: システムがこのプロバイダにリソース バンドルをリクエストすると、このメソッドが呼び出されます。これは、タイルが初めて読み込まれるときや、リソース バージョンが変更されるたびに発生する可能性があります。
アクティブなタイルをクエリする
アクティブ タイルは、スマートウォッチに表示するために追加されたタイルです。TileService
の静的メソッド getActiveTilesAsync()
を使用して、アプリに属するアクティブなタイルをクエリします。