Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
leonardo666
3 / 3 / 0
Регистрация: 16.09.2016
Сообщений: 115
1

Timer schedule new timertask

21.01.2018, 06:41. Просмотров 334. Ответов 5
Метки нет (Все метки)

Здравствуйте.

При работе таймера в сервисе

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
  @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
 
 
 Timer timeControl = new Timer();
          final Handler uiHandler = new Handler();
 
          timeControl.schedule(new TimerTask() { 
 
 
              @Override
              public void run() {
 
                  uiHandler.post(new Runnable() {
                      @Override
                      public void run() {
 
 
                          Log.e(SMARTAPP_TAG, "timer_task_1min");
 
                      }
                  });
              }
 
 
          }, 0, 60 * 1000); // интервал - 60000 миллисекунд, 0 миллисекунд до первого запуска.
 
 
        return START_STICKY;
    }

по логам

01-21 03:36:00.248 4126-4126/com. E/app_log: timer_task_1min
01-21 03:36:00.249 4126-4126/com. E/app_log: timer_task_1min
01-21 03:36:00.278 4126-4126/com. E/app_log: timer_task_1min
01-21 03:36:00.279 4126-4126/com. E/app_log: timer_task_1min
01-21 03:36:00.279 4126-4126/com. E/app_log: timer_task_1min
01-21 03:36:00.279 4126-4126/com. E/app_log: timer_task_1min
01-21 03:36:00.308 4126-4126/com. E/app_log: timer_task_1min
01-21 03:36:00.317 4126-4126/com. E/app_log: timer_task_1min
01-21 03:36:00.318 4126-4126/com. E/app_log: timer_task_1min
01-21 03:36:00.318 4126-4126/com. E/app_log: timer_task_1min
01-21 03:36:00.318 4126-4126/com. E/app_log: timer_task_1min
01-21 03:36:00.327 4126-4126/com. E/app_log: timer_task_1min
01-21 03:37:00.288 4126-4126/com. E/app_log: timer_task_1min
01-21 03:37:00.290 4126-4126/com. E/app_log: timer_task_1min
01-21 03:37:00.317 4126-4126/com. E/app_log: timer_task_1min
01-21 03:37:00.317 4126-4126/com. E/app_log: timer_task_1min
01-21 03:37:00.318 4126-4126/com. E/app_log: timer_task_1min
01-21 03:37:00.318 4126-4126/com. E/app_log: timer_task_1min
01-21 03:37:00.347 4126-4126/com. E/app_log: timer_task_1min
01-21 03:37:00.357 4126-4126/com. E/app_log: timer_task_1min
01-21 03:37:00.358 4126-4126/com. E/app_log: timer_task_1min
01-21 03:37:00.359 4126-4126/com. E/app_log: timer_task_1min
01-21 03:37:00.359 4126-4126/com. E/app_log: timer_task_1min
01-21 03:37:00.368 4126-4126/com. E/app_log: timer_task_1min


срабатывает несколько раз за период и постепенно все больше и больше.
От чего это может происходить ?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.01.2018, 06:41
Ответы с готовыми решениями:

Timer и TimerTask
Пишу программу для андроида в eclipse. Столкнулся с такой проблемой: нужно чтобы после нажатия на...

Запись видео TimerTask()
Нужно записывать видео при нажатии на кнопку(видео определенной длительности например 10 мин) и...

Timer
Я пишу приложение.Сначала для красоты показывается прогресс бар.Потом через 3сек меняется...

Timer и AppWidgetProvider
С Новым Годом, господа! Успехов всем в Новом Году! А мой вопрос такой: как остановить таймер в...

Handler timer
Добрый вечер. С помощью какого метода в Handler...

5
MercuryDir
-13 / 2 / 0
Регистрация: 09.01.2018
Сообщений: 24
21.01.2018, 12:24 2
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
@Override
    public int onStartCommand(Intent intent, int flags, int startId) {
 
 
 Timer timeControl = new Timer();
          final Handler uiHandler = new Handler();
 
          timeControl.schedule(new TimerTask() { 
 
 
              @Override
              public void run() {
 
                  uiHandler.post(new Runnable() {
                      @Override
                      public void run() {
 
 
                          Log.e(SMARTAPP_TAG, "timer_task_1min");
 
                      }
                  });
              }
 
 
          }, 0, 60 * 1000); // интервал - 60000 миллисекунд, 0 миллисекунд до первого запуска.
 
 
        return START_STICKY;
    }
Обратите внимание на метод run.
0
Pablito
2810 / 2235 / 753
Регистрация: 12.05.2014
Сообщений: 7,819
Завершенные тесты: 1
21.01.2018, 13:00 3
Цитата Сообщение от MercuryDir Посмотреть сообщение
Обратите внимание на метод run.
ну обратил, что дальше?

Цитата Сообщение от leonardo666 Посмотреть сообщение
рабатывает несколько раз за период и постепенно все больше и больше.
значит у тебя кто-то вызывает onStartCommand() несколько раз
только не нужно говорить что никто не вызывает

приведенный код более-менее верный, ну будет он стартовать 1 раз в минуту +- несколько миллисекунд
но он стартует один раз в минуту, а не несколько
0
MercuryDir
-13 / 2 / 0
Регистрация: 09.01.2018
Сообщений: 24
21.01.2018, 13:16 4
Цитата Сообщение от Pablito Посмотреть сообщение
ну обратил, что дальше?
Не умничай ,ты по факту не хрена не знаешь ...

умник млин ,ты что тут на всех бузишь - А???

P.S запомни на каждую хитрую жопу - есть Х -- с винтом -- понял ???
0
Pablito
2810 / 2235 / 753
Регистрация: 12.05.2014
Сообщений: 7,819
Завершенные тесты: 1
21.01.2018, 13:22 5
Цитата Сообщение от MercuryDir Посмотреть сообщение
Не умничай ,ты по факту не хрена не знаешь ...
умник млин ,ты что тут на всех бузишь - А???
P.S запомни на каждую хитрую жопу - есть Х -- с винтом -- понял ???
ты даун, не тебе решать знаю я что-то или нет

я тебе вопрос простой задал - что дальше?
это уже не первая тема, где ты пишешь чепуху с умным видом
0
leonardo666
3 / 3 / 0
Регистрация: 16.09.2016
Сообщений: 115
21.01.2018, 15:28  [ТС] 6
MercuryDir, Вижу конфликт начался . А меж тем что то надо исправить в методе run ? Лог получен в режиме закрытой программы, только работа сервиса в фоне без повторных вызовов onStartCommand, ну только если перезапуск при его убийстве так как стоит START_STICKY
0
21.01.2018, 15:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.01.2018, 15:28

Timer \ Intent
Доброй ночи. При запуске StartActivity через 3 сек должно открыться MainActivity, оно то работает...

Timer в ListView
Добрый вечер! Поставлена задача: нужно создать ListView в элементах которого тикало время от даты...

Обращение к UI из Timer
при помощи какой функции из таймера можно обратиться к элементу UI??


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru