Angezeigt werden der Standort des Nutzers in Android
-
10-10-2019 - |
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?
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.