2013-01-14 13 views
7

एंड्रॉयड पर का समर्थन करता है, यह प्रोग्राम के रूप में जांच करने के लिए संभव है डिवाइस मल्टीटच या http://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_TOUCHSCREEN_MULTITOUCH wth नहीं समर्थन करता है तो।प्रोग्राम लगाने के लिए मल्टीटच एंड्रॉयड डिवाइस में कई उंगलियों

यह भी जांच करने के लिए कि उनकी संख्या कितनी उंगलियों डिवाइस मल्टीटच में पहचान सकते हैं संभव है? जैसे मुझे पता है कि, 2-उंगली मल्टीटाउच 2.x से शुरू होने का समर्थन करता है, लेकिन 4.0 से 3-उंगली मल्टीटाउच। लेकिन हमारे ग्राहक रिपोर्ट में 4.x के साथ कुछ नए डिवाइस हैं जो अभी भी 3 अंगुलियों का समर्थन नहीं करते हैं, जो एंड्रॉइड ओएस के संस्करण के खिलाफ बेकार जांच करता है।

सम्भावित समाधान प्रत्येक डिवाइस उंगलियों की जो संख्या यह अधिकतम का समर्थन करता है के लिए कुछ शब्दकोश में स्टोर करने के लिए होगा, लेकिन 1k + वहाँ नए उपकरणों और साथ लगातार यह व्यवहार्य नहीं है प्रकट होते हैं।

कोई समाधान?

संपादित करें: वास्तव में मैं बस में पाया गया कि इस मुद्दे को ग्राहक द्वारा रिपोर्ट पर एचटीसी वन सीरीज के लिए एक उपकरण मुद्दा था। http://www.mobiflip.de/htc-one-serie-multitouch-beschraenkung-aufheben-tipp/ देखें उपयोगकर्ता को 5+ उंगलियों को काम करने के लिए सेटिंग में डिवाइस-विशिष्ट जेस्चर मान्यता को चालू करना होगा। तो, डिवाइस शायद 5+ अंगुलियों का समर्थन भी दिखाएगा। मुझे लगता है कि हम सिर्फ डिवाइस के मॉडल की जांच करेंगे और इसके लिए विशेष पॉपअप दिखाएंगे जिससे उपयोगकर्ता उस एचटीसी-विशिष्ट सेटिंग को बंद कर दे।

+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

मैं भी वहां गया हूं। अंत में मैंने * 2 पॉइंटर्स * और * 2 स्वतंत्र पॉइंटर्स * के मामलों को अलग करने के लिए यूआई और जेस्चर को संशोधित करने में कामयाब रहा है। आशा है कि आप इसे भी समझ लेंगे। – andr

+0

मैं इसे सही ढंग से समझ में आया: वहाँ जब डिवाइस जब डिवाइस 3 या उससे अधिक संकेत का समर्थन करता है मामले से 3 ठीक 2 स्वतंत्र संकेत और नहीं का समर्थन करता है मामला अंतर करने के लिए कोई रास्ता नहीं है? – iseeall

+0

@iseeall बिल्कुल सही है, लेकिन * 3 या अधिक * से * 3 या 4 * बदलें। यदि डिवाइस 5+ का समर्थन करता है, तो इसमें * jazzhand * सुविधा शामिल होनी चाहिए (इसके लिए 'सत्य' वापस)। – andr

2

इसके बजाय सिर्फ मल्टीटच के लिए जाँच की है, तो आप के रूप में जवाब में दिखाया गया है के लिए FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND