Frage

habe ich ein Problem in der Lage (meine Lage) des Benutzers zu bekommen. Mein Code ist

double lat;
double lng;
LocationManager locationManager;
String context = Context.LOCATION_SERVICE; 
locationManager = (LocationManager)getSystemService(context);
String provider = LocationManager.GPS_PROVIDER;
Location location = locationManager.getLastKnownLocation(provider);
if(!locationManager.isProviderEnabled(provider)){
 locationManager.setTestProviderEnabled(provider, true);
}
boolean enabled = locationManager.isProviderEnabled(provider);
if(enabled){
        Toast.makeText(LoginActivity.this,"provider enabled",Toast.LENGTH_LONG).show();
}
else{
    Toast.makeText(LoginActivity.this,"provider disabled",Toast.LENGTH_LONG).show();
}
if(location!=null){
  lat = location.getLatitude();
  lng = location.getLongitude();
  AlertDialog.Builder ab=new AlertDialog.Builder(LoginActivity.this);
  ab.setMessage(Html.fromHtml("<b><font color=#ff0000>Location" +"</font></b><br>"
            +location.toString()+"<br>Latitude: "+lat
                +"<br>Longitude "+lng));
  ab.setPositiveButton("ok",null );
  Toast.makeText(LoginActivity.this,"You are at     "+location.toString(),Toast.LENGTH_LONG).show();
}
else{
    Toast.makeText(LoginActivity.this,"Location not found",Toast.LENGTH_LONG).show();
} 

Mein Problem ist, ich bin die Lage als null bekommen, während die Anwendung Nachricht Provider aktiviert ist. Ich habe kein Problem in diesem Code gefunden. Ich habe es auch auf einem Gerät getestet, zeigt der Anbieter aktiviert ist und der Standort nicht gefunden wird.

Ich habe nicht den Standort Zuhörer in der Klasse implementiert. Ist es notwendig, Lage Zuhörer in meiner Klasse zu implementieren?

War es hilfreich?

Lösung

Sie sind immer nur die letzte bekannte Position aus dem Telefon. Wenn diese null ist, die es, wenn keine letzte bekannte Position ist vorhanden, Sie versuchen nicht, Standorte auf andere Weise zu erhalten.

Sie sollten eine Location implementieren ein registrieren sie Standortaktualisierungen nach diesem Leitfaden zu erhalten: http://developer.android.com/guide/topics/location/obtaining-user-location.html Dadurch wird das Telefon dazu führen, zu versuchen, den Benutzer Ort und Hand, um es über Ihre Anwendung in Form eines Location-Objekt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top