Я нашел какой-то похожий вопрос о моей проблеме пару часов назад, но пока не нашел,
Я хочу загрузить данные, используя Service
с Handler
и Runnable
, ноЯ столкнулся с проблемой, что handler.postDelayed(myRunnable, interval)
перезапускается, когда код блока внутри run()
еще не закончен, все, что я знаю, это использовать wait() and notify()
, но я не знаю, куда мне положить эти methods
мой сервисный код выглядит так:
public class ServiceUploadData extends Service {
Handler handler = new Handler();
private Runnable periodicUpdate = new Runnable() {
@Override
public void run() {
Log.v(TAG, "Service Upload Data Running Now");
//check localDB and send the data if exist
handler.postDelayed(this, 1000);
}
};
@Override
public int onStartCommand(Intent intent, int flags, int startId)
{
Log.v(TAG, "onStartCommand");
context = this;
handler.post(periodicUpdate);
return START_STICKY;
}
//any @Override
}
кто-нибудь может мне помочь?