2013-01-14 77 views
7

在Android上,可以以編程方式檢查設備支持多點觸控或不問心無愧http://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_TOUCHSCREEN_MULTITOUCH編程發現多點觸控的Android設備多指如何支持

是否也可以來檢查到底有多少手指裝置可以在多點觸摸識別?例如。據我所知,從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特定的設置。

+0

作爲答案顯示,你無法確定設備是否支持觸摸點的一些任意數量(例如,3)。您需要開發您的應用程序以支持不同的存儲桶,或者使用''將您的應用程序限制爲僅在位於這些存儲桶中的設備上運行。 – CommonsWare

回答

11

據我所知,沒有辦法獲得設備支持的指針的確切數量。我不想在這裏重新發明輪子,所以我想在這裏分享一個類似的問題和一個很好的答案:Android multitouch in supported devices

總之,值得注意的是該方法PackageManager.hasSystemFeature(),讓你找出其中多點觸摸的支持類不當前設備的歸屬。實用的功能代碼包括:

  • FEATURE_TOUCHSCREEN_MULTITOUCH - 爲2+ 獨立指針支持 - 2個指針
  • FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT基本支持。
  • FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND - 爲5+ 獨立指針支持。
+0

我也去過那裏。最後,我設法修改了UI和手勢來區分* 2指針*和* 2獨立指針*的情況。希望你能弄明白。 – andr

+0

我的理解是否正確:當設備支持3個或更多指針時,設備支持2個獨立的指針而不支持3的情況下,無法區分這種情況? – iseeall

+0

@iseeall很對,但將* 3或更多*改爲* 3或4 *。如果設備支持5+,它應該包含(返回「true」)* jazzhand *功能。 – andr

相關問題