J'ai une application de travail sur l'émulateur, mais quand j'essaie sur mon téléphone, ce n'est pas le cas. Sur l'émulateur, j'envoyer une position fausse au téléphone et recevoir sans problèmes avec ce code:GPS ne fonctionne pas sur mon téléphone Android
private class GPSListener implements LocationListener{
private ProgressDialog waitingDialog;
public GPSListener(Context c) {
this.waitingDialog = ProgressDialog.show(c, "", c.getString(R.string.sWaitingMessage), true);
}
@Override
public void onLocationChanged(Location loc){
int longitude = (int) Math.round(loc.getLongitude() * 1000000);
int latitude = (int) Math.round(loc.getLatitude() * 1000000);
this.waitingDialog.dismiss();
GeoPoint currentLocation = new GeoPoint(latitude, longitude);
GPSPosition.this.whenPositionFound(currentLocation);
}
@Override
public void onProviderDisabled(String provider){}
@Override
public void onProviderEnabled(String provider){}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {}
}
Cependant, lorsque je tente sur mon téléphone, OnLocationChanged() est jamais appelé. activer la recherche GPS avec ceci:
LocationManager locManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
GPSListener gpsListner = new GPSListener(c);
locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, gpsListner);
et voici mes journaux, plein de ceci:
03-23 14:04:28.411: VERBOSE/GpsLocationProvider(148): SV count: 0 ephemerisMask: 0 almanacMask: ffffffff
03-23 14:04:28.411: DEBUG/RPC(148): written RPC packet size: [24]
03-23 14:04:28.421: DEBUG/RPC(148): read RPC packet
03-23 14:04:28.431: DEBUG/RPC(148): read RPC packet size: [284]
03-23 14:04:28.431: VERBOSE/libgps(148): DeferredActionThread pthread_cond_wait returned
03-23 14:04:28.431: DEBUG/RPC(148): written RPC packet size: [24]
03-23 14:04:28.431: DEBUG/RPC(148): read RPC packet
03-23 14:04:28.431: DEBUG/RPC(148): read RPC packet size: [284]
03-23 14:04:28.431: VERBOSE/libgps(148): DeferredActionThread pthread_cond_wait returned
03-23 14:04:28.431: DEBUG/RPC(148): written RPC packet size: [24]
03-23 14:04:28.441: DEBUG/RPC(148): read RPC packet
03-23 14:04:28.441: DEBUG/RPC(148): read RPC packet size: [284]
03-23 14:04:28.441: VERBOSE/libgps(148): DeferredActionThread pthread_cond_wait returned
03-23 14:04:28.441: DEBUG/RPC(148): written RPC packet size: [24]
03-23 14:04:28.451: DEBUG/RPC(148): read RPC packet
03-23 14:04:28.451: DEBUG/RPC(148): read RPC packet size: [284]
Qu'est-ce que je fais mal? J'ai essayé à l'intérieur/dehors, Google Map me trouve très bien et rapidement même dans ma maison.
Le GPS est-il activé sur l'appareil? –
oui, le signal se déclenche sur la "barre supérieure" comme sur l'émulateur lorsque j'envoie un emplacement fictif. Le GPS fonctionne très bien avec mon téléphone sur google maps. – Swan
Avez-vous essayé avec un critère? parce que peut-être le dernier LocationProvider était un autre que votre GPS. – papachan