2012-07-11 17 views
10

मेरे पास एक ऐसा एप्लिकेशन है जो इसके स्थान के लिए नेटवर्क प्रदाता का उपयोग करता है। प्रत्येक बार ऐप्स शुरू होता है यह देखने के लिए जांचता है कि क्या नेटवर्क प्रदाता isMroviderEnabled() विधि का उपयोग करके स्थान प्रबंधक है। यदि यह झूठा लौटाता है तो मैं नेटवर्क प्रदाता को सक्षम करने के लिए उपयोगकर्ता को एक चेतावनी प्रस्तुत करता हूं और फिर एप्लिकेशन का उपयोग करता हूं। यह तर्क वास्तव में अच्छी तरह से काम कर रहा था, गैर-Google प्रमाणित उपकरणों के साथ कुछ अपवादों के साथ (चिंता नहीं है, उनके पास आमतौर पर मैप्स एपीआई नहीं है)। हाल ही में, आईसीएस पर कुछ उपकरणों के साथ और अब जेलीबीन एमुलेटर पर मुझे isProviderEnabled() के लिए लगातार "झूठा" मिलता है, भले ही यह सक्षम हो।Android LocationManager.isProviderEnabled() हमेशा झूठा

मैं के बाद से स्ट्रिंग का उपयोग करने के लिए स्थानांतरित कर दिया Settings.Secure.getString (getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED)) से लौटे देखने के लिए कि क्या यह "नेटवर्क" में शामिल है। यह एक हैक है लेकिन यह अभी के लिए काम कर रहा है। मैं isProviderEnabled() विधि का उपयोग करने में सक्षम होना पसंद करूंगा।

क्या कोई इस मुद्दे को पहले देखता है?

+2

मुझे भी इस मुद्दे का सामना करना पड़ रहा है! इसके लिए आपको कोई काम मिल गया है? – gkris

उत्तर

0

के लिए एपीआई डॉक से: LocationManager.GPS_PROVIDER

इस प्रदाता

उपग्रहों का उपयोग स्थान निर्धारित करता है। शर्तों के आधार पर, इस प्रदाता को स्थान फ़िक्स वापस करने में कुछ समय लग सकता है। अनुमति ACCESS_FINE_LOCATION की आवश्यकता है।

इसलिए यदि आपको ACCESS_FINE_LOCATION की आवश्यकता नहीं है तो यह झूठी वापसी होगी।

0

@naqi @gkris मैंने यह भी देखा कि isProviderEnabled(LocationManager.GPS_PROVIDER)false लौटा रहा था।
इस के लिए समाधान भी Location MethodHigh Accuracy के बजाय करने के लिए Battery Saving या Device Only

यह सेटिंग स्थान सेटिंग के तहत उपलब्ध है और विभिन्न उपकरणों पर अलग अलग नाम है स्थापित करने के लिए उपयोगकर्ता पूछने के लिए है। कुछ उपकरणों है कि मैं पर परीक्षण किया है पर, इस सेटिंग को भी मूल्य High Accuracy या GPS या GPS, Wifi and Mobile Networks

डेवलपर्स हो सकता है इस पर उपयोगकर्ताओं को प्रशिक्षित करना होगा नाम Mode, Location Mode, Location Method आदि के साथ है।