Geolocalisation telephone portable
salut a tous les développeurs Androïde. dans le cadre de mon apprentissage sur Androïde, j'ai décidé de développer une application de géolocalisation des téléphones portable. mon emulateur ne me renvoit aucune donnee. que Faire ?
voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
|
package com.locartion.service;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.os.IBinder;
import android.widget.Toast;
public class MonPremierService extends Service {
Criteria criteria = null ;
private LocationManager locationMgr = null;
private LocationListener onLocationChange = 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)
{
Double latitude = location.getLatitude();
Double longitude = location.getLongitude();
Double altitude = location.getAltitude() ;
Float precision = location.getAccuracy() ;
Toast.makeText(getBaseContext(),"Voici les coordonnées de votre téléphone : " + latitude + " " + longitude, Toast.LENGTH_LONG).show();
Toast.makeText(getBaseContext(),"Voici les coordonnes de votre telephone : " + altitude + " " + precision , Toast.LENGTH_LONG).show();
}
};
@Override
public IBinder onBind(Intent arg0)
{
return null;
}
@Override
public void onCreate()
{
locationMgr = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
criteria = new Criteria() ;
criteria.setAccuracy(Criteria.ACCURACY_FINE) ;
criteria.setAltitudeRequired(true);
criteria.setBearingRequired(true);
criteria.setCostAllowed(false);
criteria.setPowerRequirement(Criteria.POWER_MEDIUM);
criteria.setSpeedRequired(true);
locationMgr.requestLocationUpdates(locationMgr.getBestProvider(criteria, true) ,1000, 1, onLocationChange);
locationMgr.requestLocationUpdates(locationMgr.getBestProvider(criteria, true), 1000, 1,onLocationChange);
super.onCreate();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId)
{
return super.onStartCommand(intent, flags, startId);
}
@Override
public void onDestroy()
{
super.onDestroy();
locationMgr.removeUpdates(onLocationChange);
}
} |