android – 确定设备是否有触摸屏

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

我尝试了this,但它在两台设备上都返回true:

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

解决方法

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

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

见:Detect HDMI Port in android device

旁注:如果播放器没有触摸屏,但是包管理器错误地报告了它,那么它可能是包管理器的错误,也可能是Android的设备制造商实施的错误.

相关文章

这篇“android轻量级无侵入式管理数据库自动升级组件怎么实现...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的...
这篇文章主要介绍“Android岛屿数量算法怎么使用”的相关知识...
本篇内容主要讲解“Android如何开发MQTT协议的模型及通信”,...
本文小编为大家详细介绍“Android数据压缩的方法是什么”,内...