我的应用程序可以在普通手机上运行,也可以在通过HDMI连接到电视并使用鼠标进行导航的Android播放器上运行。有没有办法编程来确定设备是否支持触摸屏,以便区分两种导航方式?
我尝试了这个方法,但它在两种设备上都返回true:
getPackageManager().hasSystemFeature("android.hardware.touchscreen");
我的应用程序可以在普通手机上运行,也可以在通过HDMI连接到电视并使用鼠标进行导航的Android播放器上运行。有没有办法编程来确定设备是否支持触摸屏,以便区分两种导航方式?
我尝试了这个方法,但它在两种设备上都返回true:
getPackageManager().hasSystemFeature("android.hardware.touchscreen");
使用OnTouchListener
而不是OnClickListener
OnTouch提供更好的反馈,它可以完成OnClick已经完成的所有操作。对于这两种情况都要这样做(因此无需弄清楚哪种情况是哪种)。
一些开发人员甚至在处理非触摸设备时也使用OnTouchListeners而不是OnClickListeners(因为他们声称它可以提供更好的性能和更快的响应速度)。
就个人而言,我不知道最后一个说法是否正确,但我同意那些开发人员的看法,即使用OnTouchListener而不是OnClickListener实际上没有任何缺点(据我所知)。