# Unzuverlässiger Service



## Ludwigm (7. Mrz 2020)

Hi, ich habe einen Service implementiert, der alle x Minuten etwas ausführen soll. Dies habe ich schon mit Thread (Zeitsteuerung über `System.CurrentTimeMillis()`, `ExecutorService`und `ScheduledExecutorService`probiert. Während des Debuggen am PC in Android Studio läuft alles wie es soll. Im Normalbetrieb auf dem Handy wird der Code allerdings deutlich verzögert ausgeführt, sprich nach x + t Minuten..
Ideen woran das liegen kann? Vorschläge wie man das Vorhaben zuverlässig realisieren kann?

Hier einmal der Code mit ScheduledExecutorService:

```
public class MyService extends Service {
    private final ScheduledExecutorService scheduler =
            Executors.newScheduledThreadPool(1);   

    @Override
    public int onStartCommand(Intent intent, int flags, final int startId) {

        final Runnable runnable = new Runnable() {
            @Override
            public void run() {
                //hier der Code der regelmäig ausgeführt werden soll               
                scheduler.schedule(this,getNewInterval(),MILLISECONDS);
            }
        };

      //Notification erstellen, Notification Channel, startForegorund()


        scheduler.schedule(runnable,1,MINUTES);
        return START_STICKY;
    }
```

Gruß Ludwig


----------



## Xyz1 (7. Mrz 2020)

Android service periodically performing tasks in background?
					

I have created an Android Service which I start simply in my activity  Intent i = new Intent(); i.setClassName("com.abc.app", MyService.class.getName()); startService(i); bindService(i, connection,




					stackoverflow.com


----------

