LiveCard
이 클래스를 사용하면 활성 카드를 만들어 타임라인에 게시할 수 있습니다.
라이브 카드를 만드는 방법에 대한 자세한 내용은 다음을 참조하세요. 라이브 카드 개발자 가이드
라이브 카드 수명
라이브 카드를 사용하려면 장기간 실행되는 컨텍스트가 있어야 합니다.
백그라운드 Service
에서 관리해야 합니다. 그런 다음
서비스가 시작되자마자 또는
서비스 모니터입니다 마찬가지로 카드가 더 이상 관련이 없거나
서비스가 소멸됩니다
라이브 카드를 게시할 때 사용자에게 미치는 영향을 선택할 수 있습니다. 무음으로 게시하는 경우 카드가 아무런 눈에 띄는 영향 없이 타임라인에 삽입됩니다. 카드를 삽입해야 합니다. 또한 라이브 카드가 조회되는 즉시 자동으로 표시되도록 설정할 수도 있습니다. 게시되었습니다. 애플리케이션의 기본 사용자 인터페이스가 라이브 카드일 때 유용한 경우가 많습니다. 활동이 아니라
라이브 카드에 콘텐츠 표시
라이브 카드는 레이아웃 리소스의 콘텐츠를 표시하거나 코드를 렌더링하도록 허용하여 콘텐츠를 표시할 수 있습니다. 바로 놓는 것입니다. 애플리케이션 환경을 기반으로 애플리케이션에 가장 적합한 방법을 카드의 콘텐츠를 얼마나 자주 업데이트해야 하는지, 위젯이나 자유 형식 그래픽이 포함될 수 있습니다.
원격 뷰를 사용하여 레이아웃 확장
애플리케이션이 표준 위젯만 필요로 하고 업데이트 빈도가 매우 낮은 경우 (약 몇 초 또는
더 길어짐) RemoteViews
클래스를 사용하여 카드를 만듭니다.
RemoteViews
객체를 사용하면 Glass 타임라인을 사용 설정할 수 있으며, 이 타임라인은
생성한 레이아웃을 확장할 수 있습니다.
LiveCard liveCard; // initialized elsewhere RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.my_layout); liveCard.setViews(views);
RemoteViews
를 사용하는 카드가 게시되면
set*
메서드를 호출하는 작업은 명시적으로 호출하지 않는 한 타임라인에 표시되지 않습니다.
라이브 카드에서 다시 setViews
를 눌러 강제로 업데이트합니다.
라이브 카드 표면에 직접 그리기
애플리케이션을 더 자주 업데이트하거나 (초당 여러 번) 더 자주 렌더링해야 하는 경우
정교한 그래픽을 구현하는 경우 직접 렌더링을 사용하고
SurfaceHolder.Callback
를 카드 표면으로 전달합니다.
LiveCard liveCard; // initialized elsewhere liveCard.setDirectRenderingEnabled(true); liveCard.getSurfaceHolder().addCallback(callback);
그런 다음 백그라운드 스레드의 표면에 직접 또는 외부
이벤트 (예: 센서 또는 위치 업데이트)를 정의합니다. surfaceCreated
및
카드가 다음과 같을 때 렌더링 로직을 시작하고 중지하는 surfaceDestroyed
메서드
표시됩니다.
노출 영역 홀더의 콜백 메서드는 기본 UI 스레드에서 호출되지 않습니다.
라이브 카드 선택 처리
라이브 카드는 작업 (활동을 시작하는 PendingIntent
,
서비스를 하거나 방송을 수행). 이 과정은 사용자가 탭하여 카드를 선택할 때 실행됩니다.
일반적으로 이 작업은 옵션 메뉴를 표시하거나
애플리케이션의 다른 부분으로 사용자를 연결합니다. 적어도 사용자가 직접 선택할 수 있는
타임라인에서 라이브 카드를 삭제할 수 있습니다.
LiveCard liveCard; // initialized elsewhere Intent intent = new Intent(context, MyActivity.class); liveCard.setAction(PendingIntent.getActivity(context, 0, intent, 0));
작업이 없는 라이브 카드는 표시되지 않습니다.
중첩된 클래스 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
enum | LiveCard.PublishMode | 게시 시 사용자에게 카드가 표시되는 방식을 결정합니다. |
상수 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
String | EXTRA_FROM_LIVECARD_VOICE | Intent 가 라이브 카드에서 음성으로 활성화되었음을 나타내는 불리언 추가 항목입니다. |
공개 생성자 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
공개 메서드 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
LiveCard | |||||||||||
SurfaceHolder | |||||||||||
부울 | |||||||||||
void |
navigate()
|
||||||||||
void | |||||||||||
LiveCard |
setAction(PendingIntent 인텐트)
|
||||||||||
LiveCard |
setDirectRenderingEnabled(불리언 사용 설정)
|
||||||||||
LiveCard |
setRenderer(GlRenderer 렌더기)
|
||||||||||
LiveCard | |||||||||||
LiveCard |
setVoiceActionEnabled(불리언 사용 설정)
|
||||||||||
void |
상속된 메서드 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
상수
공개 생성자
공개 메서드
<ph type="x-smartling-placeholder"></ph> 공개 LiveCard 첨부 (서비스 서비스)
배경 Service
을 추가하여 이 카드가
게시된 경우, 제공된 서비스는 포그라운드에서 실행되도록 설정됩니다.
이렇게 하면 서비스가 포그라운드에서 자동으로 삭제됩니다. 라이브 카드가 게시 취소되었습니다.
매개변수
서비스 | 앞부분에서 실행되도록 설정됩니다 |
---|
반환 값
- 호출 체이닝을 위한 이 객체
<ph type="x-smartling-placeholder"></ph> 공개 SurfaceHolder getSurfaceHolder ()
직접 렌더링이 사용 설정되면 그릴 Surface
에 대한 액세스 권한을 부여합니다.
반환된 SurfaceHolder
는
관리형 노출 영역입니다 노출 영역의 모양과 유형을 변경하는 메서드는 노옵스(no-ops)입니다.
또한 이 객체에 대한 콜백은 UI 스레드에서 실행되지 않습니다.
<ph type="x-smartling-placeholder"></ph> 공개 불리언 를 통해 개인정보처리방침을 정의할 수 있습니다. isPublished ()
카드가 현재 게시되어 있으면 true
를 반환합니다.
<ph type="x-smartling-placeholder"></ph> 공개 무효 를 통해 개인정보처리방침을 정의할 수 있습니다. 길 안내 ()
타임라인에서 사용자를 이 카드로 안내합니다.
생성 값
IllegalStateException | 카드가 게시되지 않은 경우 |
---|
<ph type="x-smartling-placeholder"></ph> 공개 무효 를 통해 개인정보처리방침을 정의할 수 있습니다. 게시 (LiveCard.PublishMode 모드)
이 카드를 타임라인에 게시합니다.
작업에 작업이 있고 직접 렌더링이 사용 설정되어 있거나 설정할 수 있습니다.
매개변수
모드 | 카드가 사용자에게 표시되는 방식을 결정합니다. |
---|
<ph type="x-smartling-placeholder"></ph> 공개 LiveCard setAction (PendingIntent 인텐트)
카드가 선택되었을 때 수행되는 작업을 변경합니다.
매개변수
인텐트 | 카드를 선택하면 실행됩니다. |
---|
반환 값
- 호출 체이닝을 위한 이 객체
<ph type="x-smartling-placeholder"></ph> 공개 LiveCard setDirectRenderingEnabled (불리언 사용 설정)
직접 렌더링을 사용 설정합니다.
이 모드에서는 카드 콘텐츠를 Surface
로 직접 렌더링해야 합니다.
이 메서드는 카드가 게시되지 않은 경우에만 호출할 수 있으며 예외가 발생합니다.
매개변수
사용 설정 | 직접 렌더링의 사용 설정 여부 |
---|
반환 값
- 호출 체이닝을 위한 이 객체
<ph type="x-smartling-placeholder"></ph> 공개 LiveCard setRenderer (GlRenderer 렌더기)
OpenGL 기반 렌더기를 추가합니다.
렌더기는 직접 요청을 위해 (자동으로) 요청된 표면에 그리는 데 사용됩니다. 있습니다.
반환 값
- 호출 체이닝을 위한 이 객체
<ph type="x-smartling-placeholder"></ph> 공개 LiveCard setViews (RemoteViews 뷰)
이 카드의 UI를 표시하는 데 사용되는 RemoteViews
를 변경합니다.
이 메서드는 원격 뷰를 직접 변경한 후에도 호출되어야 합니다. 변경사항이 타임라인에 반영되지 않을 수 있습니다.
직접 렌더링이 사용 설정되어 있으면 이 메서드는 효과가 없습니다.
매개변수
조회수 | 카드 UI |
---|
반환 값
- 호출 체이닝을 위한 이 객체
<ph type="x-smartling-placeholder"></ph> 공개 LiveCard setVoiceActionEnabled (불리언 사용 설정)
카드가 타임라인에 표시되면 음성 작업을 사용 설정합니다.
설정되면 카드가 'ok Glass'를 수신합니다. 타임라인에 표시되고
이 보호 문구를 말할 때
setAction(PendingIntent)
메서드를 사용하여 지도 가장자리에
패딩을 추가할 수 있습니다. 인텐트가
컨텍스트 기반 음성 메뉴를 구현하는 경우, 이 활동은 자동으로
첫 번째 메뉴 항목에서 열기 (예: 활동 내에서 "ok Glass"라고 말하는 것처럼).
있습니다. 이 기능을 사용하면 라이브 카드에 문맥 음성 메뉴를 구현할 수 있습니다.
매개변수
사용 설정 | 음성 액션 사용 설정 여부 |
---|
반환 값
- 호출 체이닝을 위한 이 객체
<ph type="x-smartling-placeholder"></ph> 공개 무효 를 통해 개인정보처리방침을 정의할 수 있습니다. 게시 취소 ()
이 카드를 타임라인에서 게시 취소합니다.