Ich habe diesen Code, die besten verfügbaren Anbieterandroid get Lage von besten Anbietern verfügbar
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);
und dann den Hörer
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);
}
}
Wenn ich es mit einem Gerät getestet zu bekommen (htc Magie) I herausgefunden, dass wenn GPS deaktiviert ist, es sofort aus dem Netzwerk sperrt. Wenn ich das gps aktiviere, nimmt es keine Daten vom Netz und wartet, bis es vom gps blockiert.
Ich möchte die Position wie die Google Maps sperren, bis sie ein gutes GPS-Signal haben, verwenden sie das Netzwerk, um meinen Standort zu bestimmen.
Ich würde zwar die besten Kriterien tun, aber was sie tun, ist einen Anbieter einmal auszuwählen.
Ist etwas mit meinem Code nicht in Ordnung oder muss ich Threads und Timeouts machen, um das zu ermöglichen?
spagi Code mir sehr geholfen - nirgendwo auf der Android Entwickler-Website ist es zu erklären, wie der bestmöglichen Anbieter zu bekommen. Einige Geräte können GPS, einige GSM, einige WLAN haben. –
Hier ist ein sehr interessanter Google-Artikel: http://developer.android.com/training/basics/location/currentlocation.html – shkschneider