у меня есть код:
манифест
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
поля деятельности
private LocationManager locationManager;
private LocationListener mlocListener;
onCreate инициализация
locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
mlocListener = new MyLocationListener();
locationManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, 0, 0, mlocListener);
класс MyLocationListener
public class MyLocationListener implements LocationListener{
@Override
public void onLocationChanged(Location loc){
}
@Override
public void onProviderDisabled(String provider){
Toast.makeText( getApplicationContext(), "Gps Disabled", Toast.LENGTH_SHORT ).show();
}
@Override
public void onProviderEnabled(String provider){
Toast.makeText( getApplicationContext(),"Gps Enabled",Toast.LENGTH_SHORT).show();
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras){
}
}
и у меня есть кнопка, onclick = получение местоположения пользователей по GPS
public void getUserLocation(View v){
boolean enabled = locationManager
.isProviderEnabled(LocationManager.GPS_PROVIDER);
if (!enabled) {
Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivity(intent);
} else {
Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
Toast.makeText(getApplicationContext(), String.valueOf(location.getLatitude()) + " " + String.valueOf(location.getLongitude()), Toast.LENGTH_SHORT).show();
}
}
на getLastKnownLocation у меня ошибка. как я могу проверить, что у locationManager есть getLastKnownLocation ?? requestLocationUpdates автоматически должен получить местоположение, не так ли ??
И мне интересно, какие параметры в requestLocationUpdates (minTime и minDistance) лучше использовать?? я не хочу слишком много съедать аккумулятор пользователей