9

在 Android 上,可以通过http://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_TOUCHSCREEN_MULTITOUCH以编程方式检查设备是否支持多点触控。

是否也可以准确检查设备在多点触控中可以识别多少根手指?例如,据我所知,从 2.x 开始支持 2 指多点触控,但从 4.0 开始支持 3 指多点触控。但是我们的客户报告说有一些 4.x 的新设备仍然不支持 3 指,这使得对 Android 操作系统版本的简单检查毫无用处。

一个可能的解决方案是为每个设备存储它最多支持的手指数量的字典,但是有 1k+ 设备并且不断出现新设备是不可行的。

有什么解决办法吗?

编辑:事实上,我刚刚发现客户报告的问题是 HTC One 系列的设备问题。请参阅http://www.mobiflip.de/htc-one-serie-multitouch-beschraenkung-aufheben-tipp/用户必须在设置中打开特定于设备的手势识别才能使 5 个以上的手指工作。因此,该设备甚至可能会显示 5 个以上的手指支持。我想我们只会检查设备的型号并显示特殊的弹出窗口,告诉用户关闭特定于 HTC 的设置。

4

2 回答 2

11

据我所知,没有办法获得设备支持的确切指针数量。我不想在这里重新发明轮子,所以我想在这里分享一个类似的问题和一个很好的答案:Android multitouch in supported devices

总而言之,值得注意的是该方法PackageManager.hasSystemFeature()允许您找出当前设备属于哪个多点触控支持类别。有用的功能代码包括:

  • FEATURE_TOUCHSCREEN_MULTITOUCH- 对 2 个指针的基本支持
  • FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT- 支持 2+独立指针
  • FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND- 支持 5+独立指针
于 2013-01-14T16:35:53.920 回答
2

您不想只检查 MULTITOUCH,而是要检查FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND

于 2013-01-14T16:39:13.790 回答