2011-05-10 19 views
8

getBestKnownLocation किसी दिए गए प्रदाता से प्राप्त अंतिम ज्ञात स्थान फ़िक्स से डेटा इंगित करने वाला स्थान देता है। यह प्रदाता शुरू किए बिना किया जा सकता है। ध्यान दें कि यह स्थान पुराना हो सकता है, उदाहरण के लिए यदि डिवाइस बंद कर दिया गया था और दूसरे स्थान पर ले जाया गया था।getLastKnownLocation() एंड्रॉइड, जब अंतिम ज्ञात स्थान अपडेट किया गया है?

जब एंड्रॉइड में अंतिम ज्ञात स्थान अपडेट किया गया था? क्या यह अद्यतन किया जाता है जब स्थान प्रदाता के लिए कोई एप्लिकेशन सुन रहा हो, यदि ऐसा है तो क्या कोई आवेदन नहीं है कि वह स्थान मांगे और फिर आपने LastKnownLocation() से पूछा?

+0

आप क्या हासिल करने की कोशिश कर रहे हैं? कृपया प्रश्न – Hades

+0

प्रारूपित करना चाहते हैं कि मैं उपयोगकर्ता स्थान प्राप्त करने के लिए getLastKnownLocation विश्वसनीय (जब यह अपडेट किया गया हो) विश्वसनीय है या नहीं। – Jimmy

उत्तर

5

मुझे लगता है कि LastKnownLocation() अपडेट हो रहा है जब आपके फोन के कुछ प्रोग्राम इस फ़ंक्शन अनुरोध का उपयोग करते हैं LocationUpdates।

+0

मेरे अवलोकनों से, मुझे लगता है कि आप सही हैं। मैंने देखा है कि जब मेरा ऐप नेटवर्क कॉल करता है, और मैं आखिरी ज्ञात चेक करता हूं, तो यह केवल कुछ सेकंड पहले अपडेट किया गया था। –

5

कृपया Start location strategy

देख मैं कुछ जांच किया था: मैं जीपीएस चालू है और समाधान प्राप्त कर इंतजार कर रहे थे। तब मैंने जीपीएस बंद कर दिया और 50 किमी (31 मील) चलाया। फिर मैंने सभी getLastKnownLocation प्राप्त करने के लिए स्थान में एक डीप डाइव से कोड का उपयोग किया। मैं इसे दो बार कोशिश की, पहले जीपीएस के साथ बंद कर दिया और दूसरे GPS चालू साथ, लेकिन एक ठीक बिना:

1) जीपीएस के साथ बंद कर दिया मुझे मिल गया - प्रदाता: नेटवर्क, सटीकता 680m साथ सही स्थान - प्रदाता: निष्क्रिय (mProvider = network), उपरोक्त के समान स्थान, के ऊपर एक ही समय - प्रदाता: जीपीएस, स्थान शून्य

इसलिए मैंने सीखा कि जब जीपीएस बंद हो जाता है तो आपको जीपीएस लोकेशन प्रदाता से कोई नहीं मिला LastKnownLocation।

2) के साथ जीपीएस दिया मुझे मिल गया पर - प्रदाता: -: जैसा कि ऊपर निष्क्रिय (mProvider = नेटवर्क), एक ही स्थान, ऊपर के रूप में एक ही समय - प्रदाता: प्रदाता नेटवर्क, सटीकता 652m साथ सही स्थान जीपीएस, स्थान क्योंकि यह सटीकता 12 मीटर के साथ 2 घंटे पहले था, समय 2h पहले

यहां मैंने सीखा कि पुराने संदेश अमान्य नहीं हैं, यहां तक ​​कि यह स्पष्ट है कि वे गलत हैं।

तो इसे समेटने के लिए: जब कोई प्रदाता सक्रिय होता है, तो यह अंतिम प्राप्त स्थान को GetLastKnownLocation के माध्यम से पुनः प्राप्त करने योग्य स्टोर करता है। यदि प्रदाता निष्क्रिय हो गया है, तो आपको GetLastKnownLocation भी प्राप्त नहीं होता है। कृपया ध्यान दें कि मैंने जीपीएस-प्रदाता के साथ इसका परीक्षण किया है, अन्य प्रदाता अलग-अलग तरीके से प्रतिक्रिया दे सकते हैं।

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