Я прошу помощи, чтобы моя жизнь и, что более важно, жизни моего пользователя не испортились из-за того, что я не знал, как правильно использовать сервисы и потоки.
Я не прошу длинных объяснений, а большего подтверждения. Это хорошо, если я совершенно неправ. Я здесь, чтобы учиться.
Если я правильно понимаю:
1. служба работает в фоновом режиме (без пользовательского интерфейса).
2. служба теоретически будет работать вечно, пока не убьет себя (я полагаю, здесь большое предположение)
3. служба будет продолжать работать, даже если основная активность не видна (как насчет уничтожения?)
Итак, вот мой кодовый вопрос.
У меня есть настройки сервиса и поток. Все отлично работает, но работает только один раз. Мне нужно это зациклить и продолжать проверять. Как только это будет сделано, запустите run (), как мне сказать ему снова запустить ()?
public class NotifyService extends Service{
private long mDoTask;
NoteThread notethread;
@Override
public IBinder onBind(Intent arg0) {
return null;
}
@Override
public void onCreate() {
mDoTask = System.currentTimeMillis();
notethread = new NoteThread();
notethread.start();
}
public class NoteThread extends Thread {
NotificationManager nManager;
Notification myNote;
@Override
public synchronized void start() {
super.start();
//init some stuff
}
@Override
public void run() {
//If it's been x time since the last task, do it again
//For testing set to every 15 seconds...
if(mDoTask + 15000 < System.currentTimeMillis()){
//Take care of business
mDoTask = System.currentTimeMillis();
}
}
}
}