TileService
는 바인드된 서비스입니다. TileService
는 앱 요청의 결과로 또는 시스템에서 TileService
와 통신해야 하는 경우 바인딩됩니다. 일반적인 바인드된 서비스 수명 주기에는 onCreate()
, onBind()
, onUnbind()
, onDestroy()
라는 4개의 콜백 메서드가 포함됩니다. 시스템은 서비스가 새 수명 주기 단계로 전환될 때마다 이러한 메서드를 호출합니다.
바인드된 서비스 수명 주기를 제어하는 콜백 외에도 TileService
수명 주기에 관한 다른 메서드를 구현할 수 있습니다. 모든 카드 서비스는 시스템의 업데이트 요청에 응답하기 위해 onTileRequest()
및 onTileResourcesRequest()
를 구현해야 합니다.
onTileAddEvent()
: 사용자가 카드를 처음 추가할 때와 사용자가 카드를 삭제했다가 다시 추가하는 경우에만 시스템에서 이 메서드를 호출합니다. 일회성 초기화를 실행하기에 가장 좋은 시점입니다.onTileAddEvent()
는 시스템에서 타일이 생성될 때마다 호출되는 것이 아니라 타일 세트가 재구성될 때만 호출됩니다. 예를 들어 기기가 재부팅되거나 전원이 켜지면 이미 추가된 카드에onTileAddEvent()
가 호출되지 않습니다. 대신getActiveTilesAsync()
를 사용하여 소유한 카드 중 활성 상태인 카드의 스냅샷을 가져올 수 있습니다.onTileRemoveEvent()
: 사용자가 카드를 삭제하는 경우에만 시스템에서 이 메서드를 호출합니다.onTileEnterEvent()
: 이 제공업체에서 제공하는 카드가 화면에 표시될 때 시스템에서 이 메서드를 호출합니다.onTileLeaveEvent()
: 이 제공업체에서 제공하는 카드가 화면에서 사라질 때 시스템에서 이 메서드를 호출합니다.onTileRequest()
: 시스템이 이 제공업체에 새 타임라인을 요청할 때 시스템에서 이 메서드를 호출합니다.onTileResourcesRequest()
: 시스템이 이 제공업체에 리소스 번들을 요청할 때 시스템에서 이 메서드를 호출합니다. 이는 카드가 처음 로드될 때 또는 리소스 버전이 변경될 때마다 발생할 수 있습니다.
활성 상태인 타일 쿼리
활성 타일은 시계에 표시하기 위해 추가된 타일입니다. TileService
의 정적 메서드 getActiveTilesAsync()
를 사용하여 앱에 속하는 활성 카드를 쿼리합니다.