2012-04-14 11 views
11

Używam NETWORK_PROVIDER, aby uzyskać latitude i longitude tego miejsca.isProviderEnabled (LocationManager.NETWORK_PROVIDER) return false

Już sprawdziłem ustawienie w "lokalizacji & bezpieczeństwa" i włącz "używać sieci bezprzewodowych". Ale "isProviderEnabled(LocationManager.NETWORK_PROVIDER)" zawsze zwraca false.

Czy ktoś może mi pomóc? Z góry dziękuję!

Oto mój kod:

LocationManager locManager=(LocationManager) getSystemService(Context.LOCATION_SERVICE); 
boolean isEnableGPS=locManager.isProviderEnabled(LocationManager.GPS_PROVIDER); 
boolean isEnableNTW=locManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER); 
Log.d(TAG, isEnableGPS+", "+isEnableNTW); 

pozwolenie na AndroidMainfest.xml

<uses-permission android:name="android.permission.INTERNET"/> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 
+2

Ci testowanie na emulatorze? Jeśli tak, to nie zadziała. – Asdfg

+0

Och, wspomnę o tym ... Używam mojego telefonu komórkowego. – shell

+0

To samo tutaj isGPSEnabled = this.myLocationManager.isProviderEnabled (LocationManager.GPS_PROVIDER); Zawsze zwraca wartość false. – Rohit

Odpowiedz

12

Upewnij się, że lokalizacja w oparciu sieciowa jest włączona w ustawieniach telefonu. Możesz wykryć tę sytuację i poprosić użytkownika o jej włączenie, jeśli naprawdę tego potrzebujesz.

Uważam, że jest to linia kodu do uruchomienia tej czynności.

activity.startActivity(new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS); 

ACTION_LOCATION_SOURCE_SETTINGS

Ten artykuł wyjaśnia http://emobiledude.com/fix-waiting-for-location-in-google-maps-after-android-4-2-update/

Android 4.0 Location Access Settings

Powiązane problemy