Android TV (二)(处理电视硬件)
来源:互联网 发布:本地连接网络使用率 编辑:程序博客网 时间:2024/04/27 17:32
官方地址 镜像地址
电视硬件基本上不同于其他Android设备。电视不包含一些硬件特性相比于其他电视设备,例如触屏、相机、GPS。电视也完全依赖于二次硬件设备。为了使用户和应用之间能够交互,必须使用远程遥或者游戏手柄。当你创建电视应用时,你必须仔细考虑硬件的局限性和操作电视硬件的要求。
检查电视设备
如果你创建的应用既操作电视设备也操作非电视设备,你可能需要检查你的应用当前运行在那种设备上来进行调整。例如,如果你有一个可以通过意图启动的应用程序,你的应用程序应该检查设备属性,以确定它是否应该启动面向电视的活动或电话活动。推荐的方法是使用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")}
处理不支持的硬件特性
根据你的应用程序的设计和功能,你可能围绕某些不可用的硬件特性工作。本节的主要内容为硬件特性通常不适用于电视,如何检测丢失的硬件功能,建议使用这些特性的替代品。
不支持电视的硬件特性
声明电视的硬件要求
<uses-feature android:name="android.hardware.touchscreen" android:required="false"/><uses-feature android:name="android.hardware.faketouch" android:required="false"/><uses-feature android:name="android.hardware.telephony" android:required="false"/><uses-feature android:name="android.hardware.camera" android:required="false"/><uses-feature android:name="android.hardware.nfc" android:required="false"/><uses-feature android:name="android.hardware.location.gps" android:required="false"/><uses-feature android:name="android.hardware.microphone" android:required="false"/><uses-feature android:name="android.hardware.sensor" android:required="false"/>
声明包含硬件特性的权限
检查硬件特性
下面的代码示例演示如何在运行时检测硬件特性的可用性:
// Check if the telephony hardware feature is available.if (getPackageManager().hasSystemFeature("android.hardware.telephony")) { Log.d("HardwareFeatureTest", "Device can make phone calls");}// Check if android.hardware.touchscreen feature is available.if (getPackageManager().hasSystemFeature("android.hardware.touchscreen")) { Log.d("HardwareFeatureTest", "Device has a touch screen.");}
阅读全文
0 0
- Android TV (二)(处理电视硬件)
- android TV 开发 (二) 处理电视的硬件
- Android TV开发(二)处理TV硬件
- [中英文对照]android Designing for TV(二) ------ Optimizing Navigation for TV 优化电视导航
- Android TV开发(—)开始电视应用
- Android TV (四)(创建电视导航)
- 智能电视TV分辨率处理方案--第1问
- android CTS测试之TV智能电视总结笔记
- Android 智能TV电视系统遥控器键值添加
- Android 智能TV电视系统遥控器键值添加
- Android TV 电视调试和遥控器事件监听
- Android电视TV盒子开发——常用ADB命令
- android TV 开发 (一) 准备开发电视应用
- Android电视TV盒子开发——常用ADB命令
- Android TV (三)(创建电视页面布局)
- 电视端Android TV应用移植开发常见问题Q&A-Android TV 应用开发
- [中英文对照]android Designing for TV(一) ------ Optimizing Layouts for TV 优化电视布局
- [中英文对照]android Designing for TV(一) ------ Optimizing Layouts for TV 优化电视布局
- 第十三周项目三
- ThinkPHP框架where条件封装的几个小知识点
- 15周 项目3
- Pygame 学习笔记(3)
- JSR规范
- Android TV (二)(处理电视硬件)
- C/C++ 第八周二叉树 (一)二叉树算法库—项目1
- 课程大总结
- ETCD 简介 + 使用
- 25个2017年发布的最佳Android库(非常值得学习)
- 第15周项目1(6)- 验证归并排序算法
- c++学习笔记之继承和多态
- 开源配置中心
- HTML、JavaScript 本地文件读写