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.
Television device implementations:
KEYCODE_BACK
) to the foreground application.android.hardware.gamepad
feature flag.If Television device implementations include a gyroscope, they:
Television device implementations:
If TV device implementations are 32-bit:
[7.6.1/T-1-1] The memory available to the kernel and userspace MUST be at least 896MB if any of the following densities are used:
If TV device implementations are 64-bit:
[7.6.1/T-2-1] The memory available to the kernel and userspace MUST be at least 1280MB if any of the following densities are used:
Note that the “memory available to the kernel and userspace” above refers to the memory space provided in addition to any memory already dedicated to hardware components such as radio, video, and so on that are not under the kernel’s control on device implementations.
Television device implementations:
android.hardware.audio.output
.Television device implementations MUST support the following audio encoding formats:
Television device implementations MUST support the following video encoding formats:
Television device implementations:
Television device implementations MUST support the following video decoding formats:
Television device implementations are STRONGLY RECOMMENDED to support the following video decoding formats:
Television device implementations MUST support H.264 decoding, as detailed in Section 5.3.4, at standard video frame rates and resolutions up to and including:
Television device implementations with H.265 hardware decoders MUST support H.265 decoding, as detailed in Section 5.3.5, at standard video frame rates and resolutions up to and including:
If Television device implementations with H.265 hardware decoders support H.265 decoding and the UHD decoding profile, they:
Television device implementations MUST support VP8 decoding, as detailed in Section 5.3.6, at standard video frame rates and resolutions up to and including:
Television device implementations with VP9 hardware decoders MUST support VP9 decoding, as detailed in Section 5.3.7, at standard video frame rates and resolutions up to and including:
If Television device implementations with VP9 hardware decoders support VP9 decoding and the UHD decoding profile, they:
Television device implementations:
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:
Television device implementations:
android.software.leanback
and android.hardware.type.television
.android.webkit.Webview
API.If Android Television device implementations support a lock screen,they:
Television device implementations:
If Television device implementations report the feature android.hardware.audio.output
, they:
Television device implementations:
[8.1/T-0-1] Consistent frame latency. Inconsistent frame latency or a delay to render frames MUST NOT happen more often than 5 frames in a second, and SHOULD be below 1 frames in a second.
[8.2/T-0-1] MUST ensure a sequential write performance of at least 5MB/s.
[8.2/T-0-2] MUST ensure a random write performance of at least 0.5MB/s.
[8.2/T-0-3] MUST ensure a sequential read performance of at least 15MB/s.
[8.2/T-0-4] MUST ensure a random read performance of at least 3.5MB/s.
[8.3/T-0-1] All apps exempted from App Standby and Doze power-saving modes MUST be made visible to the end user.
[8.3/T-0-2] The triggering, maintenance, wakeup algorithms and use of global system settings of App Standby and Doze power-saving modes MUST not deviate from the Android Open Source Project.
Television device implementations:
uid_cputime
kernel module implementation.adb shell dumpsys batterystats
shell command to the app developer.