У меня есть одна функция которая работает как сервис, но она не срабатывает, я не могу понять почему. Вот код функции:
public class TimeToServer extends Service {
boolean yes_sinchron = false;
boolean isOnline = true;
public TimeToServer() {
Timer newTimer = new Timer();
TimerTask time_to_Srever = new TimerTask() {
@Override
public void run() {
Log.d("TimeToServer", "Работаю");
long time_to_server = mSettings.getLong(TimeObn, 0);
if (time_to_server != 0) {
byte time_delay_Sinhron = (byte) mSettings.getInt(SettingSinhron, 2);
switch (time_delay_Sinhron) {
case (0):
time_to_server += 600000;
Log.d("TimeToServer", "Проверям переодичность 10 минут");
break;
case (1):
time_to_server += 1800000;
Log.d("TimeToServer", "Проверям переодичность 30 минут");
break;
case (2):
time_to_server += 3600000;
Log.d("TimeToServer", "Проверям переодичность 1 час");
break;
case (3):
time_to_server += 10800000;
Log.d("TimeToServer", "Проверям переодичность 3 часа");
break;
case (4):
time_to_server += 21600000;
Log.d("TimeToServer", "Проверям переодичность 16 часов");
break;
case (5):
time_to_server += 43200000;
Log.d("TimeToServer", "Проверям переодичность 12 часов");
break;
case (6):
time_to_server += 86400000;
Log.d("TimeToServer", "Проверям переодичность 24 часа");
break;
default: break;
}
long time_Now = System.currentTimeMillis();
if (time_Now >= time_to_server) {
yes_sinchron = true;
Log.d("TimeToServer", "Надо начинать синхронизацию");
}
}
}
};
newTimer.schedule(time_to_Srever, 0, 120000);
if (yes_sinchron) {
Log.d("TimeToServer", "Запуск синхронизации");
if (Sinchron_bd.performClick()) {
isOnline = false;
yes_sinchron = false;
} else {
Toast.makeText(getApplicationContext(), R.string.not_conn_internet, Toast.LENGTH_LONG).show();
Log.d("TimeToServer", "Нету интернета");
}
} else {
Log.d("TimeToServer", "Еще не время");
}
}
@Override
public IBinder onBind(Intent intent) {
// TODO: Верните канал связи в службу.
return null;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return Service.START_STICKY;
}
}
Сама проблема заключается в том что yes_sinchron не определяется как true хотя должна. А если точнее то это if else вообще не отрабатывает.
Вот это не будет срабатывать никогда.
newTimer.schedule(time_to_Srever, 0, 120000);
if (yes_sinchron) {
// ...
}
Флаг yes_sinchron
будет всегда false
.
Нельзя ожидать результат асинхронной операции и еще запущенной по расписанию сразу после факта запуска.
Имется две таблицы: Судья и СоревнованиеОдно соревнование судят несколько судей, один и тот же судья может судить несколько соревнований
В NetBeans IDE создана форма проекта с одной кнопкой , которая в обработчике событий имеет код на выполнение скрипта , который написан на PythonСкрипт...