Dienst, der nach einiger Zeit wiederholt eine Methode ausführt
Ich möchte einen Dienst erstellen, der nach immer wieder 10 Sekunden eine Methode ausführt, bis ich ihn beende, auch wenn die App geschlossen ist. Mein versuchte Code ist unten
package com.example.tauben;
import java.util.Timer;
import java.util.TimerTask;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.widget.Toast;
public class Reminder extends Service {
@Override
public IBinder onBind(Intent arg0) {
return null;
}
@Override
public void onCreate() {
TimerTask task = new TimerTask() {
public void run(){
f();
}
};
Timer timer = new Timer();
timer.scheduleAtFixedRate(task, 0, 10000);
}
public void f(){
Toast t = Toast.makeText(this, "Service is still running", Toast.LENGTH_SHORT);
t.show();
}
}
Und so starte ich den Dienst.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d(Log_TAG,"_____________RESTART__________");
Intent i= new Intent(this, Reminder.class);
startService(i);
}
Das Programm hört sofort auf zu laufen. Wie kann ich meinen Code ändern, um das gewünschte Verhalten zu erzielen?