电视硬件与其他Android设备有很大不同。 电视不包括其他Android设备上的某些硬件功能,例如触摸屏,相机和GPS接收器。 电视也完全依赖辅助硬件设备。 为了让用户与电视应用程序交互,他们必须使用遥控器或游戏手柄。 当您构建电视应用程序时,您必须仔细考虑在硬件上运行的硬件限制和要求。
本课程介绍如何检查您的应用是否在电视上运行,以及如何处理不支持的硬件功能。 要了解各种输入方法,请参阅管理电视控制器 。
检查电视设备
如果您正在构建可在电视设备和其他设备上运行的应用程序,则可能需要检查您的应用程序正在运行的设备类型,并调整应用程序的操作。 例如,如果您的应用程序可以通过Intent
启动,则应用程序应检查设备属性以确定它是否应启动面向电视的活动或电话活动。
确定您的应用是否在电视设备上运行的推荐方法是使用UiModeManager.getCurrentModeType()
方法检查设备是否在电视模式下运行。 以下示例代码显示了如何检查您的应用是否在电视设备上运行:
public static final String TAG = "DeviceTypeRuntimeCheck"; UiModeManager uiModeManager = (UiModeManager) getSystemService(UI_MODE_SERVICE); if (uiModeManager.getCurrentModeType() == Configuration.UI_MODE_TYPE_TELEVISION) { Log.d(TAG, "Running on a TV Device"); } else { Log.d(TAG, "Running on a non-TV Device"); }
处理不支持的硬件功能
根据您的应用程序的设计和功能,您可能能够解决某些不可用的硬件功能。 本节讨论电视通常无法使用哪些硬件功能,如何检测缺失的硬件功能,并建议使用这些功能的替代方案。
不支持的电视硬件功能
电视与其他设备具有不同的用途,因此它们不具有其他Android设备经常具有的硬件功能。 出于这个原因,Android系统不支持电视设备的以下功能:
硬件 | Android功能描述符 |
---|---|
触摸屏 | android.hardware.touchscreen |
触摸屏模拟器 |