电视硬件基本上不同于其他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")

}

处理不支持的硬件特性

根据你的应用程序的设计和功能,你可能围绕某些不可用的硬件特性工作。本节的主要内容为硬件特性通常不适用于电视,如何检测丢失的硬件功能,建议使用这些特性的替代品。

不支持电视的硬件特性

hardware.png

声明电视的硬件要求

android:required="false"/>

android:required="false"/>

android:required="false"/>

android:required="false"/>

android:required="false"/>

android:required="false"/>

android:required="false"/>

android:required="false"/>

声明包含硬件特性的权限

permission.png

检查硬件特性

下面的代码示例演示如何在运行时检测硬件特性的可用性:

// 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.");

}

android如何获取电视的存储空间,Android TV (二)(处理电视硬件)相关推荐

  1. android 动态获取权限有哪些,Android 6.0+ 动态获取权限

    Android 6.0+ 动态获取权限 这里有一个现成的库,可以直接拿来用.方便简单 1.向app下的gradle添加依赖: dependencies{ // android 6.0+ 动态获取权限 ...

  2. android 数组获取指定字符串位置,android – 如何从这个json对象中提取字符串数组?...

    我正在尝试使用org.json中的类从以下json对象获取可用数字列表 { "response":true, "state":1, "data&quo ...

  3. android p获取通话记录_[android] 取得最近通话记录的方法

    经过一下午的研究,终于弄明白了android中,关于通话记录取得的方法.下边是自己的一点心得. final Cursor cursor = cr.query(CallLog.Calls.CONTENT ...

  4. android 怎么获取app 字体颜色,android app 修改字体

    android中可能会遇到修改字体的情况,虽然说需求比较少,但是偶尔还会遇到 可以使用三方框架来帮助我们简单做到 api "uk.co.chrisjenx:calligraphy:2.2.0 ...

  5. android 怎么获取app 字体颜色,Android APP使用自定义字体实现方法

    android系统内置字体 android 系统本身内置了一些字体,可以在程序中使用,并且支持在xml配置textView的时候进行修改字体的样式.支持字段为android:textStyle ,an ...

  6. android edittext获取 time值,在Android EditText中实现日期时间选择器(DatePicker和TimePicker)...

    利用Android应用框架提供的DatePicker(日期选择器)和TimePicker(时间选择器),实现日期时间选择器. Dialog的Content布局文件(date_time_dialog.x ...

  7. android 如何获取离开屏幕时间,android – SurfaceHolder回调如何与Activity生命周期相关?...

    编辑:如果targetSDK大于10,将应用程序睡眠调用onPause和onStop. Source 我在我的姜饼手机上的一个小相机应用程序中查看了活动和SurfaceView的生命周期.你是完全正确 ...

  8. android获取手机a标签,Android获得手机UserAgent的源码

    就在我们使用安卓手机接通Pc的时候,或者使用的有些app比如我们企业营销团队就在使用的app引号精灵,以前老版本就需要开启USB开发者调试模式下使用,现就在新版本不需要了,如果手机没有开启USB开发者 ...

  9. Android模拟器获取IP的方法

    Android模拟器获取IP的方法 Android模拟器获取IP的方法及多模拟器使用adb shell 开启多模拟器时使用adb shell无法进入android,会报error: more than ...

最新文章

  1. C++ 与 JAVA区别
  2. java创建二叉树并递归遍历二叉树
  3. IT工程师实战英语之一
  4. 新年不宕机就等它了!戴尔官网高效编程电脑OptiPlex 直降2500,低至3099!
  5. pip Python 包安装和管理工具
  6. CSP认证201312-3最大的矩形[C++题解]:枚举
  7. Python基础知识(1)简介
  8. 靠打麻将赢来800万!开家烂店天天跟顾客对着干,年赚569亿!
  9. JAVA程序员一定知道的优秀第三方库(2016版)
  10. Keras 多层感知机 多类别的 softmax 分类模型代码
  11. matlab 车牌汉字识别系统,基于MATLAB车牌自动识别系统设计毕业设计论文最新版...
  12. 前端布局layout总结,左右布局,上中下布局
  13. 「数商云专辑」服装/服饰电商平台解决方案
  14. 不同阶段,产品经理需要哪些能力?
  15. turtle画分形树
  16. 高效缓冲区输入输出流
  17. Mature程序员演讲-二十年后的自己
  18. 什么是BQB认证?BQB认证蓝牙模块
  19. 【更新公告】AirtestPoco更新
  20. 苹果cms模板_9ccms与苹果cms介绍.推荐小白用9ccms程序

热门文章

  1. HDU2571 命运【动态规划DP】
  2. ZOJ1151 Word Reversal(没法提交)
  3. JSK-337 汽水瓶【数学+模拟】
  4. HDU2567 寻梦【输入输出流+水题】
  5. Java 定制工具库 —— Print(import static)
  6. 只属于你我的共同记忆
  7. 诗歌的创作、诗词总结与应用
  8. 一题多解(七)—— 取两数的最大值
  9. 强悍的 Linux —— Linux 中 TTY 是什么意思
  10. [面试] 算法(六)—— 链表