An Android Television device refers to an Android device implementation that is an entertainment interface for consuming digital media, movies, games, apps, and/or live TV for users sitting about ten feet away (a “lean back” or “10-foot user interface”).
Android device implementations are classified as a Television if they meet all the following criteria:
The additional requirements in the rest of this section are specific to Android Television device implementations.
Non-touch Navigation (Section 7.2.2)
Television device implementations:
Navigation Keys (Section 7.2.3)
Television device implementations:
KEYCODE_BACK
) to the foreground application.Button Mappings (Section 7.2.6.1)
Television device implementations:
android.hardware.gamepad
feature flag.Remote Control (Section 7.2.7)
Television device implementations:
Gyroscope (Section 7.3.4)
If Television device implementations include a gyroscope, they:
Bluetooth (Section 7.4.3)
Television device implementations:
Minimum Memory and Storage (Section 7.6.1)
Television device implementations:
Microphone (Section 7.8.1)
Television device implementations:
Audio Output (Section 7.8.2)
Television device implementations:
android.hardware.audio.output
.Audio Encoding (Section 5.1)
Television device implementations MUST support the following audio encoding:
Video Encoding (Section 5.2)
Television device implementations MUST support the following video encoding:
H-264 (Section 5.2.2)
Television device implementations are:
Video Decoding (Section 5.3)
Television device implementations MUST support the following video decoding:
Television device implementations are STRONGLY RECOMMENDED to support the following video decoding:
H.264 (Section 5.3.4)
If Television device implementations support H.264 decoders, they:
H.265 (HEVC) (Section 5.3.5)
If Television device implementations support H.265 codec and the HD 1080p decoding profile, they:
If Television device implementations support H.265 codec and the UHD decoding profile, then:
VP8 (Section 5.3.6)
If Television device implementations support VP8 codec, they:
If Television device implementations support VP8 codec and support 720p, they:
VP9 (Section 5.3.7)
If Television device implementations support VP9 codec and the UHD video decoding, they:
If Television device implementations support VP9 codec, the 1080p profile and VP9 hardware decoding, they:
Secure Media (Section 5.8)
If device implementations are Android Television devices and support 4K resolution, they:
If Television device implementations don't support 4K resolution, they:
Television device implementations:
Audio Output Volume (Section 5.5.3)
Television device implementations:
Television device implementations:
android.software.leanback
and android.hardware.type.television
.WebView compatibility (Section 3.4.1)
Television device implementations:
android.webkit.Webview
API.Lock Screen Media Control (Section 3.8.10)
If Android Television device implementations support a lock screen,they:
Multi-windows (Section 3.8.14)
Television device implementations:
Accessibility (Section 3.10)
Television device implementations:
[T-0-1] MUST support third-party accessibility services.
[T-SR] Are STRONGLY RECOMMENDED to preload accessibility services on the device comparable with or exceeding functionality of the Switch Access and TalkBack (for languages supported by the preloaded Text-to-speech engine) accessibility services as provided in the talkback open source project.
Text-to-Speech (Section 3.11)
If device implementations report the feature android.hardware.audio.output, they:
[T-SR] Are STRONGLY RECOMMENDED to include a TTS engine supporting the languages available on the device.
[T-0-1] MUST support installation of third-party TTS engines.
TV Input Framework (Section 3.12)
Television device implementations:
User Experience Consistency (Section 8.1)
For Television device implementations:
File I/O Access Performance (Section 8.2)
Television device implementations:
Power-Saving Modes (Section 8.3)
For Television device implementations:
Power Consumption Accounting (Sections 8.4)
Television device implementations:
uid_cputime
kernel module implementation.adb shell dumpsys batterystats
shell command to the app developer.