TileService はバインドされたサービスです。TileService は、アプリのリクエストの結果として、またはシステムが通信する必要がある場合にバインドされます。一般的なバインド サービスのライフサイクルには、onCreate()、onBind()、onUnbind()、onDestroy() の 4 つのコールバック メソッドが含まれています。サービスが新しいライフサイクル フェーズに入るたびに、これらのメソッドが呼び出されます。
ただし、TileService には TileService 固有のライフサイクル メソッドも含まれているため、他のほとんどのバインドされたサービスとは異なります。Service ライフサイクル メソッドと TileService ライフサイクル メソッドは、2 つの個別の非同期スレッドで呼び出されます。
TileService メソッドには次の 2 つのカテゴリがあります。
- Tile のコア機能に関連するメソッド。
onTileRequest()(実装必須)とonTileResourcesRequest()がこのカテゴリに該当します。 - 分析と可視性に関連するメソッド。たとえば、次のようなメソッドがあります。
onTileAddEvent()ユーザーがカルーセルにタイルを追加したときに呼び出されます。onTileRemoveEvent()ユーザーがカルーセルからタイルを削除したときに呼び出されます。onRecentInteractionEventsAsync()は、タイルに対する最近のユーザー操作とシステム操作に関する情報を提供します。
これらのメソッドとイベントの詳細については、TileService のドキュメントをご覧ください。
アクティブなタイルをクエリする
アクティブ タイルは、スマートウォッチに表示するために追加されたタイルです。TileService の静的メソッド getActiveTilesAsync() を使用して、アプリに属するアクティブなタイルをクエリします。