2012-01-04 14 views
6
आग नहीं करता

संभव डुप्लिकेट:
Problems with getting gps status from the LocationManager in AndroidLocationManager.GPS_PROVIDER को सुनने के किसी भी LocationListener घटनाओं

ऐसा लगता है कि जब मैं requestLocationUpdates और LocationManager.GPS_PROVIDER को सुनने मैं नहीं कोई घटनाएं प्राप्त करें, लेकिन अगर मैं LocationManager.NETWORK_PROVIDER I DO को अपडेट करता हूं तो

तो यह एक है, NETWORK_PROVIDER काम करता है। मैं ऑनलाक्शन चेंज विधि पर जाता हूं:

LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE); 

    // Define a listener that responds to location updates 
    LocationListener locationListener = new LocationListener() { 
     public void onLocationChanged(Location location) { 
      // Called when a new location is found by the network location provider. 
      textView.setText(textView.getText().toString() + "GOT SOMETHING\n"); 
     } 

     public void onStatusChanged(String provider, int status, Bundle extras) { 
      textView.setText(textView.getText().toString() + status + "onStatus Changed \n"); 
     } 

     public void onProviderEnabled(String provider) { 
      textView.setText(textView.getText().toString() + "onProviderEnabled \n"); 
     } 

     public void onProviderDisabled(String provider) { 
      textView.setText(textView.getText().toString() + "onProviderDisabled \n"); 
     } 
    }; 
    locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener); 

यह GPS_PROVIDER के साथ काम नहीं करता है। मैं किसी भी लागू तरीकों से कभी नहीं मिलता हूं। (ऑनलाक्शन चेंज, ऑनस्टैटस चेंज इत्यादि):

LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE); 

    // Define a listener that responds to location updates 
    LocationListener locationListener = new LocationListener() { 
     public void onLocationChanged(Location location) { 
      // Called when a new location is found by the network location provider. 
      textView.setText(textView.getText().toString() + "GOT SOMETHING\n"); 
     } 

     public void onStatusChanged(String provider, int status, Bundle extras) { 
      textView.setText(textView.getText().toString() + status + "onStatus Changed \n"); 
     } 

     public void onProviderEnabled(String provider) { 
      textView.setText(textView.getText().toString() + "onProviderEnabled \n"); 
     } 

     public void onProviderDisabled(String provider) { 
      textView.setText(textView.getText().toString() + "onProviderDisabled \n"); 
     } 
    }; 
    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener); 

क्या यह एंड्रॉइड के साथ एक बग है?

मेरा जीपीएस चालू है, और स्टेटस बार में ठोस पर जीपीएस आइकन है। मुझे नहीं पता कि यह एक गुच्छा मायने रखता है क्योंकि मुझे किसी भी मामले में ऑनस्टैटस पर पहुंचा जाना चाहिए ... इसके अलावा, मेरे पास <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

+1

मुझे लगता है कि आपको केवल धैर्य रखने की आवश्यकता है, इसे ठीक करने में कुछ समय लग सकता है। फ़ोन को एक बड़ी खिड़की के पास रखें, या मौसम के ठीक होने पर बेहतर अभी भी बाहर जाएं। बाजार से मुफ्त जीपीएस ऐप्स में से एक डाउनलोड करें (जैसे 'जीपीएस टेस्ट')। वह आपको बताता है कि कितने उपग्रह देख रहे हैं। देखें कि आपके ऐप की तुलना में फ़िक्स प्राप्त करने में कितना समय लगता है। – NickT

+0

क्या मुझे कम से कम प्रदाता/सक्षम/ऑनप्रोवाइडर अक्षम नहीं होना चाहिए? यहां तक ​​कि उनको भी बुलाया नहीं जा रहा है। –

+0

मान लीजिए कि आप वर्तमान में किसी डिवाइस पर इसका परीक्षण कर रहे हैं, क्या आप इसे एम्यूलेटर पर जांचने का प्रयास कर सकते हैं (निश्चित रूप से जीपीएस निर्देशांक की आपूर्ति के बाद)। यह डिवाइस के मुद्दों को रद्द कर सकता है। इसके अलावा, क्या आपने @ निकट के सुझाव (जीपीएस टेस्ट) की कोशिश की है। –

उत्तर

4

तो मैंने निकट ने सुझाव दिया और मेरी इमारत से दूर एक तरीके से चला गया और आखिर में मैंने इन घटनाओं को शुरू करना शुरू कर दिया। तो मेरा कोड ठीक था, यह सिर्फ मेरे डिवाइस पर मेरी सिग्नल शक्ति खराब थी।

जीपीएस टेस्ट ऐप भी बहुत उपयोगी था।

+3

आप उस स्थान का मतलब करते हैं केवल तभी कॉल किया जाता है जब हम आगे बढ़ें? – CoronaPintu

+0

और एक और सवाल यह है कि यदि मैं जीपीएस प्रदाता और उपयोगकर्ता बंद जीपीएस के साथ पुनर्स्थापक करता हूं तो मैं स्थान कैसे प्राप्त कर सकता हूं क्योंकि मेरा नेटवर्क प्रदान करने के लिए उपयोगकर्ता द्वारा सेवा शुरू होने पर काम करने वाले जीपीएस के कारण पंजीकरण नहीं किया जाता है। – CoronaPintu

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

  • कोई संबंधित समस्या नहीं^_^