Question

J'ai un problème à obtenir l'emplacement (mon emplacement) de l'utilisateur. Mon code est

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();
} 

Mon problème est que je reçois l'emplacement en null alors que le fournisseur de message d'application est activée. Je n'ai trouvé aucun problème dans ce code. Je l'ai également testé sur un appareil, il montre le fournisseur est activé et que l'emplacement ne se trouve pas.

Je ne l'ai pas mis en œuvre l'emplacement d'écoute dans la classe. Est-il nécessaire de mettre en œuvre l'emplacement d'écoute dans ma classe?

Était-ce utile?

La solution

Vous obtenez seulement la dernière position connue du téléphone. Si cela est nul, qu'il est si aucune dernière position connue est disponible, vous essayez de ne pas recevoir les emplacements de toute autre manière.

Vous devez mettre en œuvre un LocationListener un registre pour recevoir des mises à jour de localisation selon ce guide: http://developer.android.com/guide/topics/location/obtaining-user-location.html Cela entraînera le téléphone pour essayer d'obtenir l'emplacement des utilisateurs et remettons à votre l'application sous la forme d'un objet Lieu.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top