J'essaie de réparer le GPS par programmation lorsque le signal GPS n'est pas disponible. Je veux le faire afin de fournir des coordonnées fictives à d'autres applications comme google maps et autres. J'ai essayé d'utiliser GPS_PROVIDER et NETWORK_PROVIDER mais seulement avec ce dernier je peux obtenir un nouvel emplacement valide pour google maps. Mais cela fonctionne seulement le premier tima et si je veux re-fixer plus de lieux fictifs google maps ne voit aucun changement ... pourquoi? Je dois faire un service pour ce que je veux faire?android: comment réparer les gps avec des coordonnées fausses (faux)?
public void setLocation(double latitude, double longitude) {
//mocLocationProvider = LocationManager.GPS_PROVIDER;
mocLocationProvider = LocationManager.NETWORK_PROVIDER;
lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
lm.clearTestProviderEnabled(mocLocationProvider);
lm.requestLocationUpdates(mocLocationProvider,0,0,new llistener());
lm.addTestProvider(mocLocationProvider, false, false, false, false, false, false, false, 0, 10);
lm.setTestProviderEnabled(mocLocationProvider, true);
Location loc = new Location(mocLocationProvider);
loc.setTime(System.currentTimeMillis());
loc.setLatitude(latitude);
loc.setLongitude(longitude);
loc.setAccuracy(10);
lm.setTestProviderStatus(mocLocationProvider, LocationProvider.AVAILABLE,null, System.currentTimeMillis());
lm.setTestProviderLocation(mocLocationProvider, loc);
}
et l'emplacement auditeur
public class llistener implements LocationListener {
@Override
public void onLocationChanged(Location loc) {
// TODO Auto-generated method stub
}
@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onStatusChanged(String provider, int status,
Bundle extras) {
}
}
grâce
avez-vous résolu ce problème? Je peux également définir l'emplacement simulé seulement une fois. –