Usługa, która wielokrotnie uruchamia metodę, po pewnym czasie
Chcę utworzyć usługę, która uruchamia metodę po 10 sekundach, aż ją zatrzymam, nawet jeśli aplikacja jest zamknięta. Mój próbowany kod jest poniżej
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();
}
}
I tak rozpoczynam usługę.
@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);
}
Program przestaje działać natychmiast; Jak mogę zmienić kod, aby uzyskać pożądane zachowanie?