Erste Android-Position ausschließlich über WLAN funktioniert nicht
Dieses symptom behandelt wurde oft, aber ich habe nicht gefunden, eine andere Frage, die von den gleichen Kriterien, so hier geht...
Mache ich eine app, die erfolgreich die GPS verwendet, wenn das Gerät über service. Ich habe ein Testgerät mit der 2.3.4 version von Android. Es hat keinen SIM also GPS ist nicht zu erwarten. Aber es kann per Wifi in Google-Maps. Meine app aber nicht bekommen kann ein Ort auf diesem Gerät. Auf einem Gerät mit service, ich kann das gleiche Verhalten, indem Sie das Gerät in den Flugzeugmodus und dann neuaktivieren Wifi.
In meiner app habe ich ein gps-tracking-Klasse, die LocationListener implementiert.
Anwendung starten, wird der folgende code ausgeführt:
public Location getLocation() {
try {
locationManager = (LocationManager) mContext
.getSystemService(LOCATION_SERVICE);
//getting GPS status
isGPSEnabled = locationManager
.isProviderEnabled(LocationManager.GPS_PROVIDER);
//getting network status
isNetworkEnabled = locationManager
.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
if (!isGPSEnabled && !isNetworkEnabled) {
//no network provider is enabled
} else {
this.canGetLocation = true;
//First get location from Network Provider
if (isNetworkEnabled) {
Log.d(LOG_TAG, "Requesting updates");
//TODO once tested, up the time below
locationManager.requestLocationUpdates(
LocationManager.NETWORK_PROVIDER,
MIN_TIME_BW_UPDATES,
MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
Log.d("Network", "Network");
if (locationManager != null) {
location = locationManager
.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
//*** location is null here ***
if (location != null) {
latitude = location.getLatitude();
longitude = location.getLongitude();
}
}
}
//if GPS Enabled get lat/long using GPS Services
if (isGPSEnabled) {
if (location == null) {
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER,
MIN_TIME_BW_UPDATES,
MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
Log.d("GPS Enabled", "GPS Enabled");
if (locationManager != null) {
location = locationManager
.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if (location != null) {
latitude = location.getLatitude();
longitude = location.getLongitude();
}
}
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
return location;
}
Siehe Kommentar "Lage null hier". Dies ist der Fall bei der Inbetriebnahme und nachfolgende Aufrufe Minuten später.
Keiner dieser interface-Funktionen werden immer genannt:
onLocationChanged
onProviderEnabled
onProviderDisabled
onStatusChanged
Habe ich muffed etwas grundlegendes? Wie es scheint, Standort erreichbar sein sollten, zumindest nach ein bisschen warten. Und, wie bereits erwähnt, Google maps arbeitet in der wifi-only-Modus auf beiden Geräten.
- was werden Sie sagen, dass GPS ohne SIM ist nicht zu erwarten? GPS sollte gut funktionieren (und wie angedeutet/bestätigt durch den diese Frage), allerdings ohne service A-GPS ist möglich, also die Verbindung mal langsam.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es stellte sich heraus, dass der Erwerb der Lage war, nur viel länger dauert als erwartet. Über 2 Minuten, denke ich.