Ben mevcut en iyi sağlayıcıandroid olsun yeri
lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationListener = new MyLocationListener();
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
String provider = lm.getBestProvider(criteria, true);
Location mostRecentLocation = lm.getLastKnownLocation(provider);
if(mostRecentLocation != null) {
latid=mostRecentLocation.getLatitude();
longid=mostRecentLocation.getLongitude();
}
lm.requestLocationUpdates(provider, 1, 0, locationListener);
almak için bu kodu ve ardından dinleyici
private class MyLocationListener implements LocationListener {
@Override
public void onLocationChanged(Location loc) {
if (loc != null) {
latid = loc.getLatitude();
longid = loc.getLongitude();
// if(loc.hasAccuracy()==true){
accuracyd = loc.getAccuracy();
String providershown = loc.getProvider();
accuracy.setText("Location Acquired. Accuracy:"
+ Double.toString(accuracyd) + "m\nProvider: "+providershown);
accuracy.setBackgroundColor(Color.GREEN);
// }
userinfo=usernamevalue+"&"+Double.toString(latid)+"&"+Double.toString(longid);
submituserlocation(userinfo);
}
}
Bir cihaza test (htc magic) Ben gps devre dışı bırakıldığında hemen ağdan kilitlendiğini öğrendim. Gps'yi etkinleştirdiğimde ağdan herhangi bir veri almaz ve gps'den kilitlenene kadar bekler.
Konumumu belirlemek için ağı kullandıkları iyi bir gps sinyaline sahip olana kadar google haritalarındaki konumu kilitlemek isterim.
En iyi kriterler bunu yapsa da, yaptıkları şey bir kez sağlayıcı seçmektir.
Kodumda bir sorun var mı, yoksa yapmak için iş parçacığı ve zaman aşımları vb.
spagi yardımcı olur. Bazı cihazlarda gps, bazı gsm, biraz wifi olabilir. –
Burada çok ilginç bir Google makalesi var: http://developer.android.com/training/basics/location/currentlocation.html – shkschneider