mHandler.postAtTime(this,start + 1000));
nie działa;p zawiesza aplikacje
hmm dam sobie już spokój z tym postAtTime ;]
oczywiście ze działa trzeba wiedzieć jeszcze jak tego użyć 😉 wypadało by przeczytać instrukcje: INSTRUKCJA
podrzucę kod którego pewnie nie widziałeś choć był na forum, może czegoś się nauczysz
public abstract class CycleTask {
public enum Running {YES, NO};
private Timer mExecutor;
private TimerTask mTask;
private volatile Running mRunnung = Running.NO;
public void start(int statTime, int cycleTime) {
if (mRunnung == Running.YES) {
return;
}
mRunnung = Running.YES;
mExecutor = new Timer("CycleTask", true);
mTask = new TimerTask() {
public void run() {
execute();
}
};
mExecutor.scheduleAtFixedRate(mTask, statTime, cycleTime);
}
public void stop() {
mTask.cancel();
mExecutor.cancel();
mExecutor.purge();
mRunnung = Running.NO;
}
public boolean running() {
return mRunnung == Running.YES;
}
protected abstract void execute();
}
tworzysz klasę rozszerzającą potem, obiekt wykonujesz metodę start(); i w rozszerzającej klasie co zadany okres czasu będzie wykonywana metoda execute(); wraz z całą zawartością
start(int statTime, int cycleTime); pierwszy argument mówi po ilu ms ma się zacząć odliczanie a drugi co ile ms ma następować zdarzenie