gos*_*vka 7 android touchscreen
我的应用程序在标准手机上运行,但它也运行在Android播放器上,我通过HDMI连接到我的电视,并使用鼠标进行导航.有没有办法以编程方式确定设备是否具有触摸屏支持,以便我可以区分这两种导航方式?
我尝试过这个,但它在两个设备上都返回true:
getPackageManager().hasSystemFeature("android.hardware.touchscreen");
Run Code Online (Sandbox Code Playgroud)
PackageManager 将引用可能具有触摸屏的 Android 播放器本身。它无法检测播放器显示屏是否通过 HDMI 路由到外部显示器。当您询问软件包管理器设备是否有触摸屏时,它指的是播放器而不是外部显示器。
您可以做的一件事是通过检查 HDMI 端口是否处于活动状态来检测播放器是否连接到外部显示器,并相应地更改您的导航。
旁注:如果播放器没有触摸屏,但包管理器错误地报告有触摸屏,则可能是包管理器存在错误,或者 Android 的设备制造商实现可能存在错误。