Witam,
chciałbym spytać czy dobrze postrzegam różnice pomiędzy tymi dostawcami lokalizacji:
passive - pobiera lokalizacje wyłącznie korzystając z innych aplikacji, czyli jako sam o siebie nie próbuje ustalić lokalizacji tylko wyłącznie ustala wtedy, gdy jakaś inna aplikacja ją pobrała ??
network - lokalizacja ustalana na podstawie sieci GSM lub wifi (bez konieczności bycia połączonym z internetem przez wifi).
Jeżeli dobrze mówię w przypadku network to mam taki problem, gdyż jeżeli jestem połączony z internetem przez wifi to dostaje moją pozycję, lecz w przypadku odłączenia się od sieci lub też wyłączenia wifi to pozycja nie jest ustalana na podstawi sieci gsm.
Przykładowy kod:
public class MainActivity extends Activity {
private TextView tvLongitude;
private TextView tvLatitude;
private LocationManager locationManager;
private Location location;
private LocationListener locationListener = new LocationListener() {
public void onStatusChanged(String provider, int status, Bundle extras) {}
public void onProviderEnabled(String provider) {}
public void onProviderDisabled(String provider) {}
public void onLocationChanged(Location location) {
tvLatitude.setText(""+location.getLatitude());
tvLongitude.setText(""+location.getLongitude());
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tvLatitude = (TextView) findViewById(R.id.textView1);
tvLongitude = (TextView) findViewById(R.id.textView2);
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(
LocationManager.NETWORK_PROVIDER,
2000, 1, locationListener);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
Z góry dzięki za pomoc 🙂