Hi, ich habe einen Service implementiert, der alle x Minuten etwas ausführen soll. Dies habe ich schon mit Thread (Zeitsteuerung über
Ideen woran das liegen kann? Vorschläge wie man das Vorhaben zuverlässig realisieren kann?
Hier einmal der Code mit ScheduledExecutorService:
Gruß Ludwig
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:
Code:
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