मैं एक लाइब्रेरी पर काम कर रहा हूं जिसका उपयोग एंड्रॉइड उपकरणों पर भूगर्भों की निगरानी के लिए किया जा सकता है। मैंने देखा है कि जब मैं स्थान सेवाओं को बंद करता हूं और डिवाइस सेटिंग्स में वापस चालू करता हूं, तो Google Play स्थान सेवा GeofencingApi क्लास के साथ पंजीकृत भूगर्भ खो जाते हैं।लाइब्रेरी में निगरानी स्थान सेटिंग्स
मैंने folks देखा है कि मुझे AndroidManifest.xml
फ़ाइल में android.location.PROVIDERS_CHANGED
प्रसारण रिसीवर के लिए पंजीकरण करने की आवश्यकता है। मैंने यह किया है - लेकिन जब मैं अपने परीक्षण आवेदन में परीक्षण प्रदाताओं को जोड़ता हूं और निकालता हूं तो यह प्रसारण रिसीवर केवल तब कॉल किया जाता है। डिवाइस सेटिंग्स में स्थान सेवाओं को टॉगल करते समय मुझे यह बिल्कुल प्राप्त नहीं होता है।
क्या मैं कुछ गलत कर रहा हूं? क्या किसी को पता है कि उपयोगकर्ता डिवाइस सेटिंग्स में स्थान सेवाओं को टॉगल करता है जब विश्वसनीय रूप से निर्धारित करने के लिए कैसे? मैं पृष्ठभूमि में इन घटनाओं को देखने में सक्षम होना चाहता हूं - भले ही मेरा ऐप नहीं चल रहा हो।
मुझे लगता है कि मैं पृष्ठभूमि में चलने वाला एक दोहराना कार्य स्थापित कर सकता हूं और समय-समय पर यह जांचने के लिए जांच करता हूं कि स्थान सेवाओं को टॉगल किया गया है, लेकिन यह सकल और अक्षम लगता है।
यदि यह मदद करता है, तो मैं एंड्रॉइड 4.4.2 चलाने वाले मोटो जी पर परीक्षण कर रहा हूं। भूगर्भ विज्ञान के साथ मैंने जो भी किया है, अब तक ठीक काम किया है।
संपादित करें: अधिक शोध करने के बाद मुझे पता चला है कि PROVIDERS_CHANGED
प्रसारण का व्यवहार फोन संस्करण और मॉडल के आधार पर अत्यधिक चर है। एंड्रॉइड 5.1 चलाने वाला मेरा नेक्सस 5 वास्तव में ठीक काम करता प्रतीत होता है - मैं PROVIDERS_CHANGED
को नियमित रूप से प्रसारित करने में सक्षम हूं। मेरे पास एक मोटो जी और मोटो एक्स फोन भी 4.4.x चल रहा है और उन्होंने कभी भी PROVIDERS_CHANGED
मेरे लिए प्रसारण नहीं किया। एंड्रॉइड 4.2 पर एक सैमसंग गैलेक्सी एस 3 मेरे लिए प्रसारण का उत्पादन करेगा, लेकिन परीक्षण स्थान प्रदाताओं के साथ मैंने अपनी मानचित्र गतिविधि का उपयोग करने के बाद इसे रोकना बंद कर दिया है।
वैसे भी, मैंने अभी इस समस्या का पीछा करना बंद करने का फैसला किया है। मुझे लगता है कि एंड्रॉइड सिर्फ छोटी है।
यह सहायक हो सकता है http://stackoverflow.com/questions/10311834/how-to-check-if-location-services-are-enabled भी आपने इसे रोकने के लिए स्थानीय रूप से या कहीं और भौगोलिक डेटा को सहेजने का प्रयास किया हटाए जाने से? –
मैं पहले से ही geofences को स्थानीय रूप से सहेजता हूं इसलिए मैं उन्हें हमेशा के लिए खोने वाला नहीं हूं (जब तक उपयोगकर्ता कैश साफ़ नहीं करता)। वह मेरी समस्या नहीं है। मेरी समस्या यह है कि मुझे घटना नहीं मिलती है जो मुझे सूचित करता है कि स्थान प्रदाता सेटिंग्स बदल गई हैं। (यानी .: मुझे यह नहीं बताया जा रहा है कि उन्हें ओएस द्वारा हटा दिया गया है और मुझे यह नहीं बताया जा रहा है कि मेरे लिए फिर से लोड करना सुरक्षित है)। –
http://stackoverflow.com/questions/25156977/google-location-services-vs-android-location-services/25160005#25160005 मैं कोड में प्रदाताओं के लिए पंजीकरण करता हूं आपको वास्तव में एक सभ्य उत्तर प्राप्त करने के लिए कुछ कोड चाहिए। 4.4.2 के साथ आईडीके शायद यह काम नहीं करता है। मैंने कई महीनों में अपने एंड्रॉइड देव पर्यावरण को नहीं निकाल दिया है। – danny117