2013-01-14 2 views
7

안드로이드에서는 장치가 멀티 터치를 지원하는지 여부를 프로그래밍 방식으로 확인할 수 있습니다 http://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_TOUCHSCREEN_MULTITOUCH.멀티 터치 안드로이드 장치의 손가락 수를 프로그래밍 방식으로 확인

기기가 멀티 터치에서 인식 할 수있는 손가락의 수를 정확하게 확인할 수 있습니까? 예 : 내가 아는 바로는 2 손가락 멀티 터치가 2.x부터 지원되지만 3 손가락 멀티 터치는 4.0에서 지원됩니다. 그러나 우리 고객은 4.x가있는 몇 가지 새로운 장치를 가지고 있지만 여전히 3 개의 손가락을 지원하지 않는다고보고합니다. 따라서 안드로이드 OS 버전에 대한 간단한 점검이 필요 없습니다.

가능한 해결책은 각 장치에 대해 최대 지원 손가락 수를 사전에 저장하는 것입니다. 그러나 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

정확하게 이해할 수 있습니까? 장치가 정확히 2 개의 독립적 인 포인터를 지원하고 장치가 3 개 이상의 포인터를 지원할 경우 3이 아닌 경우를 구별 할 수있는 방법이 없습니까? – iseeall

+0

@ 확실히 꽤 괜찮지 만 * 3 이상 *을 * 3 또는 4 *로 변경하십시오. 장치가 5+를 지원하면 * jazzhand * 기능을 포함해야합니다 (true를 반환합니다). – andr

관련 문제