che voglio fare qualcosa di simile:aggiornamenti di posizione Android in un Servizio di
Quando la mia applicazione si avvia voglio avviare un servizio che dovrebbe controllare la mia posizione
Quando l'applicazione va a sfondo voglio arrestare il servizio
ho due problemi principali:
Come posso rilevare che la mia applicazione passa allo sfondo? Ho diverse attività, e ho provato che nella mia MainActivity si è annullato onPause, ma la onPause viene anche chiamata quando avvio un'altra attività.
Questo problema è più importante: come dovrebbe essere il mio servizio che controlla la mia posizione? Ho provato diversi approcci, ma senza successo.
Il mio servizio si presenta così e non funziona. Cosa dovrei cambiare per farlo funzionare?
package com.pivoscore.service;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.os.IBinder;
public class LocationService extends Service {
private LocationListener locationListener;
@Override
public IBinder onBind(final Intent intent) {
return null;
}
@Override
public int onStartCommand(final Intent intent, final int flags, final int startId) {
super.onStartCommand(intent, flags, startId);
return Service.START_STICKY;
}
@Override
public void onCreate() {
super.onCreate();
final LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
this.locationListener = new MyLocationListener();
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 100, 0, this.locationListener);
}
private static class MyLocationListener implements LocationListener {
@Override
public void onLocationChanged(final Location location) {
}
@Override
public void onProviderDisabled(final String provider) {
}
@Override
public void onProviderEnabled(final String provider) {
}
@Override
public void onStatusChanged(final String provider, final int status, final Bundle extras) {
}
}
}
onResume(), lasciare che il servizio ricerca Informazioni posizione e il metodo onPause() rimuovano la Posizione. – user2060383
Desidero utilizzare la mia posizione in diverse attività, non solo nell'attività principale. Quindi non sarebbe saggio fermare il servizio in onPause, perché se viene avviata un'altra attività, viene chiamato onPause e io smetterei di ricevere gli aggiornamenti di posizione. – ffddani
android.permission.ACCESS_COARSE_LOCATION android.permission.ACCESS_FINE_LOCATION android.permission.ACCESS_NETWORK_STATE hanno aggiunto questi Permission nel file manifest? –