2016-04-11 10 views
0

zurück Ich entwickle kleine Android-Anwendung, in der ich versuche zu überprüfen, ob Netzwerkanbieter aktiviert ist oder nicht. Wenn nicht, dann suchen Sie nach GPS-Anbieter. Aber in meinem Fall für Netzbetreiber immer wieder true.I versucht, die Art und Weise in den folgenden prüfenisProviderEnabled geben immer für Netzwerkprovider

if (locManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)) { 
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, this); 
getLastLocation(LocationManager.NETWORK_PROVIDER); 

} else if (locManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) { 

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,0,0, this); 
getLastLocation(LocationManager.GPS_PROVIDER); 
} 

Im obigen Code Netzanbieter immer true zurück. Auch ich habe keinen Netzwerkanbieter. Ist etwas falsch, was ich mache? Hilfe benötigen. Vielen Dank.

+0

haben Sie auch kein WLAN? – tyczj

+0

yeah Ich habe kein WiFi entweder auch in der Einstellung von Wifi 'Scannen immer verfügbar' auch deaktiviert. – nilkash

Antwort

2

Damit der Netzwerkstandort deaktiviert wird, müssen Sie entweder den Standortmodus auf "Aus" oder nur GPS setzen.

Also, für isProviderEnabled(LocationManager.NETWORK_PROVIDER) false zurück, wird es entweder so aussehen müssen (vollständig deaktiviert):

enter image description here

Oder diese (Ort aktiviert, GPS-only):

enter image description here

Um zu sehen, wie es auf KitKat aussieht, siehe hier: https://stackoverflow.com/a/30580898/4409409