I'm trying to restart service from itself in a few time. My code looks like this (inside the onStartCommand(...)
)
Looper.prepare();
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
Intent intent = new Intent(BackgroundService.this, BackgroundService.class);
startService(intent);
}
}, 3 * 60000);
Service is running in the foreground while this code executes, but it doesn't seem to call onStartCommand(...)
.
Is there any other way to restart service from itself in a few time?
UPD: I've found out that it actually restarts service, but not in a given time (may take up to 30 minutes instead of given 3). So now the question is how to make it restart consequently