मैं किसी Android फ़ोन पर पृष्ठभूमि जीपीएस ट्रैकिंग क्या करने की जरूरत है, और मैं वर्तमान में दो स्थितियों होने की योजना बना रही है:एंड्रॉयड जीपीएस ट्रैकिंग और Wakelock
- फ़ोन को (कार) चार्जर से जुड़ा है, मिलता है लगातार जीपीएस स्थानों (हर मिनट)।
- जब फोन चार्जर से कनेक्ट नहीं होता है, तो बैटरी के प्रभावित होने के आधार पर प्रत्येक 5-30 मिनट में केवल एक स्थान के लिए मतदान होता है।
मुझे पता है कि मुझे सेवा में ट्रैकिंग लागू करने की आवश्यकता होगी, और शायद सेवा को जीवित रखने के लिए अधिसूचना दिखाएं। हालांकि, मैं इकट्ठा करता हूं कि फोन किसी भी समय नींद मोड में जा सकता है, जो जीपीएस ट्रैकिंग को रोक देगा।
इन परिदृश्यों के लिए, निरंतर पृष्ठभूमि जीपीएस ट्रैकिंग करने का सबसे अच्छा तरीका क्या है, फोन सोने के बिना, और बहुत अधिक बिजली निकालने के बिना?
अब तक मैं निम्नलिखित इकट्ठा:
परिदृश्य 1 के लिए, मैं शायद एक प्राप्त नहीं Wakelock की आवश्यकता होगी, और सीपीयू को सक्रिय रखने के लिए हर समय (लेकिन आपकी स्क्रीन निष्क्रिय हो सकते हैं)। ऐसा लगता है कि MyTracks अनुप्रयोग TrackRecordingService में ऐसा कर रहा है। ओपनजीपीस्ट्रैकिंग the same करने लगता है।
परिदृश्य 2 के लिए, मैं अलार्ममेनगर का उपयोग प्रत्येक एक्स मिनट में चेक शेड्यूल करने के लिए कर सकता हूं। मेरी सेवा को अस्थायी वेक लॉक हासिल करने की आवश्यकता होगी, एक जीपीएस स्थान की प्रतीक्षा करें, फिर रुकें और फिर वेकॉकॉक को दोबारा रिलीज़ करें।
बिजली के उपयोग इन दोनों तरीकों (स्थायी Wakelock बनाम AlarmManager) के लिए की तुलना कैसे होगा? क्या जीपीएस उचित समय में एक सटीक स्थान प्राप्त कर सकता है जब केवल हर 30 मिनट की जांच हो?
स्टैक ओवरव्लो पर कुछ संबंधित प्रश्न हैं, लेकिन कोई भी उत्तर देने वाले उत्तरों के साथ नहीं। कुछ अर्द्ध उपयोगी लोगों को:
- how to keep application running in background? keep collecting data?
- Tracking user's sms and geo position in the background - is my idea working?
- Android service with always on GPS
कोई विचार है कि वाकेलॉक बैटरी को कितना प्रभावित करता है? और यदि यह केवल कुछ ही मिनटों में किया जाता है तो एक स्थान प्राप्त करने में कितना समय लगेगा? – Ralf
डिवाइस बैटरी जीवन इस एपीआई के उपयोग से काफी प्रभावित होगा। वेक लॉक हासिल न करें जबतक कि आपको वास्तव में उनकी आवश्यकता न हो, न्यूनतम स्तरों का उपयोग करें, और जितनी जल्दी हो सके इसे रिलीज़ करना सुनिश्चित करें। http://developer.android.com/reference/android/os/PowerManager.html#ACQUIRE_CAUSES_WAKEUP – Rohit