अपडेट के साथ काम करने लगते हैं नहीं है:
मैं विशिष्ट समस्या मैं एक वर्ग शुरू करने से हो रही थी हल करने में सक्षम था -स्कोप स्थिर काउंटर और घटनाओं की कभी भी एक्स संख्या को अनदेखा कर रहा है। लेकिन मैं अभी भी जानना चाहता हूं कि मैं गलत क्या कर रहा हूं: श्रोताओं को चार दिए गए स्थिरांकों में से किसी एक का उपयोग करने के बजाय माइक्रोसेकंड में संकेत के साथ पंजीकरण करना।"कस्टम" सेंसर घटना दरों SensorManager.registerListener (SensorEventListener श्रोता, सेंसर सेंसर, पूर्णांक दर)
मेरे एप्लिकेशन में एक गतिविधि सेंसर आकर्षक है, उपकरण के ओरिएंटेशन प्राप्त रोल का निर्धारण, और यह उपयोग करने के लिए।
मैं अपने सेंसर रजिस्टर करने के लिए
SensorManager.registerListener(SensorEventListener listener, Sensor sensor, int rate)
उपयोग कर रहा हूँ। से Android Documentation for this method:
पैरामीटर
[...]
दर
दर सेंसर घटनाओं में दिया जाता है। यह केवल सिस्टम के लिए एक संकेत है। घटनाओं को निर्दिष्ट दर से तेज या धीमी गति से प्राप्त किया जा सकता है। आमतौर पर घटनाओं को तेजी से प्राप्त किया जाता है। मान SENSOR_DELAY_NORMAL, SENSOR_DELAY_UI, SENSOR_DELAY_GAME, या SENSOR_DELAY_FASTEST या माइक्रोसॉन्ड में ईवेंट के बीच वांछित विलंब होना चाहिए।
यदि मैं 4 पूर्वनिर्धारित स्थिरांकों में से एक का उपयोग करता हूं तो ऐप ठीक काम करता है; हालांकि ये स्थिरांक सभी दर संकेत प्रदान करते हैं जो मेरी आवश्यकताओं के लिए बहुत तेज़ हैं। मुझे एक यूडीपी पैकेट भेजना है जिसमें प्रत्येक घटना परिवर्तन के साथ कुछ जानकारी शामिल है, और प्राप्त करने वाला अंत किसी भी पूर्वनिर्धारित दरों का उपयोग करके संदेशों के साथ पूरी तरह से गंदे हो रहा है। 30000 की तरह एक पूर्णांक संख्या का उपयोग करना (चूंकि एपीआई माइक्रोसेकंड में मात्रा निर्दिष्ट करता है) ऐप को सभी को एक साथ सेंसर रिपोर्टिंग रिपोर्ट करना बंद कर देता है।
मुझे क्या याद आ रहा है जो मुझे अपने स्वयं के इवेंट रेट संकेतों का उपयोग करने से रोक रहा है?
हाँ, मैं भी ऐसा करना चाहता हूं! एकमात्र समाधान मैं सोच सकता हूं कि पैकेट को मैन्युअल रूप से फ़िल्टर करना है। – David
यह एक व्यर्थ लक्ष्य है (प्रत्यक्ष अनुभव के आधार पर), क्योंकि सेंसर ड्राइवर आपके संकेतों का पालन करने के लिए बाध्य नहीं हैं। वास्तव में, यह किसी भी/सभी पूर्व परिभाषित स्थिरांक के लिए एक ही दर पर घटनाएं भेज सकता है! जब आप अपना वांछित समय-डेल्टा हिट करते हैं तो आपकी सबसे अच्छी शर्त जमा और ट्रिगर होती है। –