以编程方式查找多点触控Android设备支持的手指数量

时间:2013-01-14 16:28:55

标签: android multi-touch

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

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

一个可能的解决方案是在每个设备的某些字典中存储它支持的手指数量最多,但是有1k +设备在那里,而新的设备不断出现它是不可行的。

任何解决方案?

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

2 个答案:

答案 0 :(得分:11)

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

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

  • FEATURE_TOUCHSCREEN_MULTITOUCH - 对2个指针的基本支持
  • FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT - 支持2 + 个独立指针
  • FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND - 支持5个独立指针

答案 1 :(得分:2)

您要检查FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND

,而不是仅检查MULTITOUCH