判断设备是否有触摸屏

2024-03-02

我的应用程序可以在标准手机上运行,​​但它也可以在 Android 播放器上运行,我通过 HDMI 将其连接到电视并使用鼠标进行导航。有没有办法以编程方式确定设备是否支持触摸屏,以便我可以区分两种导航方式?

I tried this http://developer.android.com/reference/android/content/pm/PackageManager.html#hasSystemFeature(java.lang.String),但它在两个设备上都返回 true:

getPackageManager().hasSystemFeature("android.hardware.touchscreen");

PackageManager 将引用可能具有触摸屏的 Android 播放器本身。它无法检测播放器显示屏是否通过 HDMI 路由到外部显示器。当您询问软件包管理器设备是否有触摸屏时,它指的是播放器而不是外部显示器。

您可以做的一件事是通过检查 HDMI 端口是否处于活动状态来检测播放器是否连接到外部显示器,并相应地更改您的导航。

See: 检测 Android 设备中的 HDMI 端口 https://stackoverflow.com/questions/13430835/detect-hdmi-port-in-android-device

边注:如果播放器没有触摸屏,但程序包管理器错误地报告有触摸屏,则可能是程序包管理器存在错误,或者 Android 的设备制造商实现可能存在错误。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

判断设备是否有触摸屏 的相关文章

随机推荐

  • Powershell 对 Excel 工作簿进行多个 SQL 查询

    首先 如果这是一个重复的问题 我深表歉意 我搜索了又搜索 但没有找到任何可以解决我所遇到的问题的内容 我的目标是使用 7 个 Powershell 脚本 将 SQL 查询中的 CSV 输出到 1 个 Excel 工作簿中 每个 CSV 位于
  • VS.NET默认为私有类

    为什么 Visual Studio 在 C 中将新类声明为私有 我几乎总是把它们转为公开的 我是疯子吗 我不确定为什么要这样做 但为了让 Visual Studio 默认将该类创建为 Public 您需要执行以下操作 进入 Program
  • 在 xcode 4.5.1 上链接库 OpenCV 2.4.2

    我已经按照此处的说明安装了带有 macports 的 opencv 使用 Xcode 为 OS X Lion Mountain Lion 编译 OpenCV 2 3 1 https stackoverflow com questions 8
  • HttpApplication 不退出

    我有一个单页应用程序 前端使用 Angular js 后端使用 Web api2 还使用 Castle Windsor 和 SignalR 我在服务器上使用 C 组件来维护服务器状态 因此 在 Application Start 上 我将温
  • 将文件上传器添加到 Joomla 管理组件

    我根据 Joomla 指南制作了 Joomla 管理组件 http docs joomla org Developing a Model View Controller Component 2 5 Developing a Basic Co
  • 如何将我使用(DT)数据表创建的表保存为高质量图像?

    我创建了一个可以在我的 查看器 中查看的数据表 如果我使用导出来复制图像或保存为 png 它的质量往往会很低吗 我最好的选择是截取图像并将其粘贴到我的工作文档中 我在其中输入报告 但我知道必须有更好的方法 对我能做什么有什么建议吗 您可以使
  • 部署战争问题

    下面的错误是什么意思 我使用 eclipse 并将 web 项目导出为 war 文件 我部署到 weblogic 时出现我不明白的错误消息 Message icon Error Unable to access the selected a
  • 如何避免 javonet 中数组中基元的自动装箱

    根据中的例子https www javonet com java devs guides working with net arrays and collections from java with javonet https www ja
  • 无法检测adb版本,退出值:0xc0000135

    我使用的android studio最新版本 HEXM 已安装在我的电脑中 android虚拟设备未创建其显示未知问题 好的 所以我使用 genymotion 模拟器 但 android studio 没有检测到它 无法检测adb版本 退出
  • 标题中单个单词的颜色与组的颜色相匹配

    我最近在 经济学人 上看到了一张折线图 其中标题包含彩色单词以匹配折线图中使用的组的颜色 https www economist com blogs graphicdetail 2018 04 daily chart 1 我想知道如何使用
  • Golang SQL 查询变量替换

    我有 sql 查询需要变量替换才能更好地消耗我的go kit https github com go kit kit服务 I have dep org作为我的休息服务一部分的用户输入 例如 dep abc and org def 我尝试过一
  • “未捕获的引用错误:JQueryValidatorUI 未定义”?

    使用 jquery validation ui 插件时 未捕获的 ReferenceError JQueryValidatorUI 未定义 也未捕获类型错误 对象 对象对象 没有方法 验证 这是我的脚本顺序
  • 如何在JUNG中添加具有相同标签(但端点不同)的两条边?

    如何添加具有相同标签但端点不同的两条边 例如 我想添加两条具有相同标签 label1 的边 一条从顶点 v 1 到顶点 v 2 另一条从顶点 v 2 到 v 3 部分代码是 g addEdge label1 v 1 v 2 g addEdg
  • 如何将 javascript 对象发送到远程 CFC 组件

    我创建了一个 javascript 对象 var spanglist one q1 two q2 three q3 four q4 我创建 ajax jquery 对象以将数据发送到 CFC ajax url gridly componen
  • Angularjs:ReferenceError:范围未定义

    我是 Angularjs 的初学者 在理解模块和范围方面有一些困难 我不断收到范围未定义的错误 但我不明白为什么 首先 我将控制器链接到设置路线的位置 但由于控制器内的函数是在提交按钮上调用的 因此单击我将其拿走 我试过把它放回去 但这没有
  • pytest从不同的测试文件独立导入相同的模块

    以下主题模块包含两个函数 其中之一操作全局变量 mod py def global setter global x x 123 print setter x x def global getter print getter x x 每个功能
  • 如何在magento的成功页面中动态集成JS代码

    我知道 success phtml 是我应该放置我想要执行的代码的文件 但是我从 CJ 收到这个文件 它不是 html 而是一个 php 类 问题很简单 我想知道如何在收到订单后将此文件集成到 success phtml 中 谢谢 clas
  • np.ndarray`“is”中的奇怪行为

    is 内置运算符显示元素的奇怪行为np ndarray 尽管右侧和左侧的 id 相同 但 is 运算符返回 False 此行为特定于np ndarray a np array 1 b a view print id a 0 id b 0 T
  • postgres 使用 join 更新

    我正在尝试使用 ht 中的数据更新表 tr 两者都有几乎相同的列 所以为了测试我运行了这个查询 SELECT FROM tr a RIGHT OUTER JOIN ht b USING date name ft WHERE ft IS NO
  • 判断设备是否有触摸屏

    我的应用程序可以在标准手机上运行 但它也可以在 Android 播放器上运行 我通过 HDMI 将其连接到电视并使用鼠标进行导航 有没有办法以编程方式确定设备是否支持触摸屏 以便我可以区分两种导航方式 I tried this http d