Ich schreibe einen Code, der den aktuellen Standort bringt, aber es gibt mir den Standort nicht, weil es nie onLocationChanged()
ruft. Gibt es eine Möglichkeit, den Speicherort zu finden.onLocationChanged() nie aufgerufen
mobileLocation kommt für diesen Fall auf 0, so dass die Ausführung zum Else-Block geht.
Mein Code ist
public class FindLocation {
private LocationManager locManager;
private LocationListener locListener;
private Location mobileLocation;
private String provider;
public FindLocation(Context ctx){
locManager = (LocationManager) ctx.getSystemService(Context.LOCATION_SERVICE);
locListener = new LocationListener() {
@Override
public void onStatusChanged(String provider, int status,
Bundle extras) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onProviderDisabled(String provider) {
}
@Override
public void onLocationChanged(Location location) {
System.out.println("mobile location is in listener="+location);
mobileLocation = location;
}
};
locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 1, locListener);
if (mobileLocation != null) {
locManager.removeUpdates(locListener);
String londitude = "Londitude: " + mobileLocation.getLongitude();
String latitude = "Latitude: " + mobileLocation.getLatitude();
String altitiude = "Altitiude: " + mobileLocation.getAltitude();
String accuracy = "Accuracy: " + mobileLocation.getAccuracy();
String time = "Time: " + mobileLocation.getTime();
Toast.makeText(ctx, "Latitude is = "+latitude +"Longitude is ="+londitude, Toast.LENGTH_LONG).show();
} else {
System.out.println("in find location 4");
Toast.makeText(ctx, "Sorry location is not determined", Toast.LENGTH_LONG).show();
}
}
}
wenn Sie Emulator oder Gerät überprüfen? – rajeshwaran
Nein zum ersten Mal auf (auch echte Maschine), wenn ich es starte, ruft es nicht onLocationChanged() auf, so Variable mobileLocation ist null. Bedeutet manchmal, dass es den Standort erreicht, aber nicht zum Zeitpunkt des Klicks. –
Obwohl es sehr spät ist, aber ich hoffe, dass dieser Kommentar jemand anderem helfen kann, schauen Sie sich diesen Link an: http://www.lengrand.fr/2013/10/onlocationchanged-is-never-called-on-android – SMHJamali