2012-04-14 12 views
11

Ich verwende NETWORK_PROVIDER, um latitude und longitude des Ortes zu bekommen.isProviderEnabled (LocationManager.NETWORK_PROVIDER) gibt false zurück

Ich überprüfe bereits die Einstellung in der "Position & Sicherheit" und aktivieren Sie "drahtlose Netzwerke verwenden". Aber "isProviderEnabled(LocationManager.NETWORK_PROVIDER)" immer zurück false.

Kann mir jemand helfen? Vielen Dank im Voraus!

Hier ist mein Code:

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); 

Erlaubnis im 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

Sie auf Emulator testen? Wenn ja, wird es nicht funktionieren. – Asdfg

+0

Oh, ich möchte nicht erwähnen ... Ich benutze mein Handy. – shell

+0

Gleiches hier isGPSEnabled = this.myLocationManager.isProviderEnabled (LocationManager.GPS_PROVIDER); Gibt immer false zurück. – Rohit

Antwort

12

Stellen Sie sicher, dass Netzwerk-basierten Standort wird in den Telefoneinstellungen aktiviert. Sie können diese Situation erkennen und den Benutzer auffordern, sie zu aktivieren, wenn Sie sie wirklich benötigen.

Ich glaube, das ist die Codezeile, um diese Aktivität zu starten.

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

ACTION_LOCATION_SOURCE_SETTINGS

Dieser Artikel erklärt, es http://emobiledude.com/fix-waiting-for-location-in-google-maps-after-android-4-2-update/

Android 4.0 Location Access Settings