मैं एक विधि लिख रहा हूं जो एक जीपीएस सेंसर मौजूद और सक्षम होने पर सत्य वापस आ जाएगा, लेकिन अगर अनुपस्थित है या बंद हो गया है तो वह झूठी वापसी करता है। यह कड़ी मेहनत कर रहा है क्योंकि ...एक जीपीएस सेंसर की उपस्थिति की जांच कैसे करें?
hasSystemFeature("FEATURE_LOCATION_GPS") // on PackageManager
गलत है, चाहे डिवाइस में एक जीपीएस है या नहीं। तो यहां तक कि एक डिवाइस पर भी एक है, और यह चालू है, यह अभी भी झूठी वापसी करता है। मुझे पूरी तरह से गलत लगता है, लेकिन मैं नहीं देख सकता क्यों।
isProviderEnabled("gps") // on LocationManager
सच है, यहां तक कि मेरे यहां मौजूद डिवाइस पर भी कोई जीपीएस हार्डवेयर नहीं है। यह पूरी तरह से प्रतिद्वंद्वी लगता है।
मैं स्वीकार करता हूं कि ये परिणाम हो सकते हैं क्योंकि मुझे कुछ याद आ रहा है, एसडीके सहज नहीं है, या शायद यहां तक कि जिन उपकरणों के साथ मैं परीक्षण कर रहा हूं वे अजीब तरीके से व्यवहार कर रहे हैं।
मुझे क्या याद आ रही है?
कोई त्रुटि नहीं है, लेकिन यह उस डिवाइस पर सच है, जिसमें एक जीपीएस नहीं है (एडवेंट वेगा 10 "गैर-Google- अनुमोदित टैबलेट)। शायद टैबलेट को दोष देना है और ओएस गलत तरीके से स्थापित है डिवाइस –
वैसे डिवाइस डेवलपर को एसडीके पैकेज मैनेजर सार के बाद से पैकेजमैनेजर क्लास को कार्यान्वित करना होगा। यह पहली बार नहीं होगा जब डिवाइस डेवलपर ने कुछ तोड़ दिया। –
मैंने इसे किंडे फायर (जीपीएस के बिना) पर परीक्षण किया और यह एक जैसा काम करता है आकर्षण। (मुझे लगता है कि गैर-Google अनुमोदित क्रेप्स का समर्थन करने के लायक नहीं है) –