मैं अंतराल और विस्थापन आधारित अद्यतनों के लिए GoogleApiClient
का उपयोग करके पृष्ठभूमि स्थान अपडेट पर काम कर रहा हूं और परीक्षण कर रहा हूं। कुछ दिनों के लिए परीक्षण और विश्लेषण पर मैंने आउटपुट में कुछ बदलावों का पता लगाया जिनकी मुझे उम्मीद नहीं थी।Google API का उपयोग करके पृष्ठभूमि स्थान अपडेट - फ़्यूज्ड स्थान प्रदाता सटीक नहीं
setInterval
औरsetFastestInterval
अंतराल आधारित अद्यतन के लिए उपयोग करते समय, कहते हैं कि मैं 15 मिनट और सबसे तेजी से अंतरालके रूप में 10 मिनट, बार मैं अपडेट हो रही है के 90% के रूप में एक अंतराल निर्धारित किया है अपेक्षित अंतराल में (10 से 15 मिनट)। लेकिन कभी-कभी मैंने देखा कि अद्यतन निर्दिष्ट अंतराल की तुलना में अधिक समय लेते हैं, जैसे अंतर लगभग 30 मिनट और 60 मिनट है। अंतर क्या है के बारे में कोई विचार?दूरी आधारित अद्यतन के लिए
setMinimumDisplacement
उपयोग करते समय, कहते हैं कि मैं केवल स्थिर अंक (पर 200 मीटर की दूरी, मैं अपडेट हो रही है के रूप में एक विस्थापन निर्धारित किया है यात्रा करते यह अद्यतन भले ही नहीं देता है यह 200 मीटर से अधिक है) जो 200 मीटर और ऊपर हैं। क्या यह सामान्य रूप से काम करता है?
मैं आदेश की पृष्ठभूमि में स्थान अपडेट के लिए BroadcastReceiver
में स्थान अपडेट प्राप्त करने के स्थान अनुरोधों के PendingIntent
प्रकार का उपयोग कर रहा हूँ।
fusedLocationProviderClient.requestLocationUpdates(locationRequest, pendingIntent);
जबकि परीक्षण, स्थान सेवाएं पर और स्थान मोडथे HIGH_ACCURACY था।
मैं सामान्य व्यवहार नहीं कह सकता लेकिन मैंने आपके जैसे मुद्दों को देखा है। सच्चाई से, जवाब क्या है @Mitesh Vanaliya ने दस्तावेज़ीकरण से उद्धृत किया है, ** सभी स्थान अनुरोधों को संकेत माना जाता है, और आप उन स्थानों को प्राप्त कर सकते हैं जो अधिक/कम सटीक हैं, और अनुरोध किए गए तेज़/धीमे **। या, पैराफ्रेश करने के लिए, "आप हमें बता सकते हैं कि आप क्या चाहते हैं, और हम कभी-कभी ऐसा करेंगे, लेकिन अंत में हम क्या करेंगे और जब हम चाहते हैं" – Gary99
यदि आप Google की अनुशंसित 'FusedLocationApi' का उपयोग नहीं करना चाहते हैं, तो आप अपने लिए अधिक नियंत्रण पाने के लिए पुराने स्थान प्रबंधक का उपयोग कर सकते हैं। [यहां] (https://developer.android.com/guide/topics/location/strategies.html) कुछ जानकारी है कि यह कैसे करें। – Gary99
मैं 'लोकेशन लिस्टर' के लिए नहीं जाना चाहता था क्योंकि ऐप समाप्त होने पर इसे समाप्त कर दिया जाएगा। मैं ऐप समाप्त होने पर भी स्थान अपडेट प्राप्त करना चाहता हूं, यही कारण है कि मैं 'FusedLocationProviderClient' के 'requestLocationUpdates'' के लंबित इंटेन्टेंट संस्करण के लिए गया था। 'SetInterval' से प्राप्त होने वाले अपडेट' setMinimumDisplacement' से कहीं अधिक बेहतर हैं क्योंकि _setInterval_ के स्थान _setMinimumDisplacement_ की तुलना में अधिक सटीक हैं। – Joshua