Wszystkie uprawnienia są dodane, o tym zawsze pamiętam. Jest zrobiona klasa do otrzymywania lokalizacji GPS która wygląda następująco:
public class LokalizacjaGPS extends Service implements LocationListener {
private final Context Context;
Location location; // lokalizacja
double latitude; // szerokosc
double longitude; // dlugosc
double accuracy;// dokładność
// Minimalny dystans w czasie
private static final long MIN_TIME_BW_UPDATES = 1000 * 1;
protected LocationManager locationManager;
// KONSTRUKTOR
public LokalizacjaGPS(Context context) {
this.Context = context;
getLocation();
}
public Location getLocation() {
try {
locationManager = (LocationManager) Context.getSystemService(LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, MIN_TIME_BW_UPDATES, 0, this);
} catch (Exception e) {
e.printStackTrace();
}
return location;
}
@Override
public void onLocationChanged(Location location) {
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
}
@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
public double getLatitude() {
if (location != null) {
latitude = location.getLatitude();
}
// ZWRACA SZEROKOSC GEO
return latitude;
}
public double getLongitude() {
if (location != null) {
longitude= location.getLongitude();
}
// ZWRACA DLUGOSC GEO
return longitude;
}
public void stopGPS() {
if (locationManager != null) {
locationManager.removeUpdates(LokalizacjaGPS.this);
}
}
public double getAccuracy() {
if (location != null) {
}
return accuracy;
}
}
I właśnie powyższe metody nie zwracają zmieniającej się po interwale geolokalizacji, tylko 0.0, dlatego próbuję z intencjami, ale też nie przynosi to zamierzonego skutku.