我的应用程序可以在标准手机上运行,但它也可以在 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(使用前将#替换为@)