2012-12-19 29 views
5

मैं वर्तमान में एक शोध प्रोजेक्ट पर काम कर रहा हूं जिसमें लोगों को एंड्रॉइड डिवाइस पर गेम खेलना शामिल है। मैं एक एंड्रॉइड ऐप लिखने में सक्षम होने की उम्मीद कर रहा हूं जो एक्सेलेरोमीटर रिकॉर्ड करता है और घटनाओं को स्पर्श करता है। मैं चाहता हूं कि मेरे उपयोगकर्ता क्रोधित पक्षियों जैसे गेम खेल सकें, जबकि मैं उनके स्पर्श डेटा को रिकॉर्ड करता हूं।सभी ऐप्स में एंड्रॉइड डिवाइस पर सभी टच और एक्सेलेरोमीटर को रिकॉर्ड करने के लिए

मैं समझता हूं कि इस प्रकार का डेटा संग्रह ऐप के अंदर से संभव है, लेकिन क्या यह ऐप के बाहर से संभव है? (शायद पृष्ठभूमि में चल रहे ऐप के माध्यम से?)

यदि यह संभव नहीं है, तो क्या विकल्प हैं? (मेरा मानना ​​है कि मैं सैद्धांतिक रूप से एंड्रॉयड OS स्रोत कोड में जाते हैं और ऐसा करने के सकता है?)

+0

http://stackoverflow.com/questions/11322188/receiving-touch-events-from-a- सेवा- विकास यह आपकी मदद करने में सक्षम हो सकता है। RubberBigPepper से जवाब देखें। –

उत्तर

4

मैं समझता हूँ कि डेटा संग्रह के इस प्रकार एप्लिकेशन अंदर से संभव है, लेकिन यह ऐप्लिकेशन के बाहर हो सकता है? (शायद पृष्ठभूमि में चल रहे ऐप के माध्यम से?)

स्पष्ट गोपनीयता और सुरक्षा कारणों के लिए स्पर्श घटनाओं के लिए, नहीं। यह संभव होने के लिए का उपयोग किया गया था (शब्द "टैपजैकिंग" का शोध करें), लेकिन एंड्रॉइड के मौजूदा संस्करणों ने आखिरकार इस व्यवहार को अवरुद्ध कर दिया।

एक्सीलरोमीटर घटनाओं के लिए, आप उन्हें रिकॉर्ड कर सकते हैं, क्योंकि वे एक साथ सभी ऐप्स के लिए समान हैं। ध्यान रखें कि आपकी नमूना दर वास्तव में उपयोग किए जा रहे ऐप से मेल नहीं खाती है।

मुझे विश्वास है कि मैं सैद्धांतिक रूप से एंड्रॉइड ओएस स्रोत कोड में जा सकता हूं और ऐसा कर सकता हूं?

हां, हालांकि आपको उस संशोधित एंड्रॉइड को रोम मोड में बदलने और डिवाइस पर इंस्टॉल करने की आवश्यकता होगी।

+0

सेकंड्स ने मुझे हराया! +1 :) –

2

ऐप्स को एक सुरक्षित डिवाइस पर ऐसा करने की अनुमति नहीं है (यानी उपभोक्ता फोन/टैबलेट जो 'रूट' नहीं है)।

हालांकि, आपकी आवश्यकताओं के आधार पर कंप्यूटर से जुड़े विकास उपकरण के साथ यह संभव हो सकता है। यदि आप प्रत्येक नियंत्रित परिस्थितियों के परीक्षण से पहले कुछ मामूली कष्टप्रद सेटअप कर सकते हैं, तो मेरा मानना ​​है कि आप यूएसबी केबल का उपयोग करके यूएसबी केबल का उपयोग करके वाईफ़ाई मोड में स्विच करने के लिए कुछ वायरलेस डिवाइस पर कर सकते हैं, फिर वायरलेस एडीबी सत्र में इनपुट इवेंट की निगरानी कर सकते हैं। देखें

http://source.android.com/tech/input/getevent.html

उस दस्तावेज़ में सूचित करते हैं कि 'सु' की जरूरत है (जो अजीब है के रूप में सरकारी 'सु' गैर-रूट उपयोगकर्ताओं द्वारा उपयोग योग्य नहीं है) लगता है, लेकिन यह कई शेयर उपकरणों पर बिना काम करता है ।

आप शायद यह पता लगाने के लिए कि लॉकग्राउंड में कौन सा एप्लिकेशन है, आप लॉगैक चलाना चाहते हैं।

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^