Obtenir la position actuelle avec GPS ET WIFI
Je suis actuellement en utilisant le GPS seulement pour obtenir de l'emplacement actuel de l'utilisateur de revenir à certains résultats. Comme en Belgique, si vous êtes à l'intérieur, la plupart du temps vous ne pouvez pas obtenir GPS-connexion. Je tiens donc à obtenir l'emplacement actuel avec le wifi-connexion.
J'ai trouvé ça par exemple: obtenir la position actuelle (gps/wifi)
Mais
Je ne suis pas sûr de lignes indiquent le dispositif de connexion à choisir. Je suppose que c'est celui-ci: String provider = myLocationManager.getBestProvider(criteria,true);
Que j'ai à ajouter à mon code.
Quand j'ai vérifier ce qui est à l'intérieur de cela, je reçois toujours une valeur nulle valeur, je ne comprends pas très bien pourquoi.
Mon code ressemble actuellement comme ceci:
public void getOwnLngLat(){
LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
final LocationListener locationListener = new LocationListener(){
public void onLocationChanged(Location location) {
//TODO Auto-generated method stub
longitude="" + location.getLongitude();
latitude="" + location.getLatitude();
}
public void onProviderDisabled(String provider) {
//TODO Auto-generated method stub
}
public void onProviderEnabled(String provider) {
//TODO Auto-generated method stub
}
public void onStatusChanged(String provider, int status,
Bundle extras) {
//TODO Auto-generated method stub
}
};
locationManager.requestLocationUpdates(locationManager.getBestProvider(new Criteria(), true), 2000, 10, locationListener);
}
OriginalL'auteur Hannelore | 2011-05-06
Vous devez vous connecter pour publier un commentaire.
vous utilisez locationmanagers getbestprovider méthode qui obtient tout simplement tout fournisseur d'emplacement qui correspond le plus à vos critères.
si vous souhaitez obtenir un emplacement spécifique du fournisseur puis utilisez le getProvider méthode. le paramètre doit être l'un des résultats de la getProviders méthode.
quelques liens:
http://developer.android.com/guide/topics/location/obtaining-user-location.html
http://developer.android.com/reference/android/location/LocationManager.html
oui, vous l'avez! utiliser le getProviders méthode (paramètre de vrai!) pour voir les fournisseurs d'emplacement sont activés.
J'ai testé cela, sur mon Samsung Galaxy Ace, et quand j'allume mon GPS off et mon wifi (je suis connecté à un wifi ouvert), mon p-variable est null...
ce qui est un p-variable?
Une variable de type String qui contient
locationManager.getBestProvider(new Criteria(), true);
OriginalL'auteur arnodenhond
Si vous souhaitez obtenir des mises à jour à partir d'un fournisseur en particulier vous pouvez utiliser la
requestLocationUpdates (Chaîne de fournisseur de longue minTime, float minDistance,: LocationListener auditeur)
méthode deLocationManager
. Une liste des fournisseurs disponibles peut être obtenue à l'aide de lagetProviders(boolean enabledOnly)
méthode.Un fournisseur d'emplacement (par exemple GPS) livrera jour la localisation (latitude, la longitude, l'heure, la précision, etc) à votre: LocationListener objet. Ces mises à jour sont démarrés lorsque vous appelez la requestLocationUpdates méthode et continuera périodiquement jusqu'à ce que vous appelez la removeUpdates méthode.
OriginalL'auteur Matt Colliss