Я работаю над React Native и хочу создать бесконечный сервис, который будет запускаться каждые (n) секунды на собственных модулях (в этой теме Android).
Я создал простой сервискак этот
public void startTimer() {
timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
Log.v(TAG, "SERVICE RUN");
try{
if(haveNetworkConnection()){
db.openDB();
if(db.countRowNewStructure()>0){
//send data to server
} else{
Log.v(TAG, "No data should be send to server");
}
} else {
Log.v(TAG, "Ga ada sinyal");
}
} catch (JSONException e){
e.printStackTrace();
}
}
}, 0, 1000);
}
приведенный выше код запускается каждую секунду для проверки, но я сталкиваюсь с проблемой, когда перезапускаю службу из React Native, журнал показывает мне этот код каждые 0,5 секунды
симуляция может выглядеть следующим образом:
0----------------1 //seconds
startTimer()
re-run startTimer() conscious
0----------------1 //seconds
startTimer()
//now i have two startTimer() that will run every 1 sec on different interval
Я хочу, чтобы мой startTimer () работал только один раз, даже когда я запускаю startService()
каждые 0,5 секунды.
как я могу это сделать?это возможно?