Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Alex_244
0 / 0 / 0
Регистрация: 03.04.2013
Сообщений: 78
#1

Таймер останавливается при блокировке экрана - Android

25.07.2016, 14:39. Просмотров 169. Ответов 1
Метки нет (Все метки)

Он как бы не останавливается вроде до конца, но, например, запускаю, блокирую экран, в реале жду примерно минуту, потом смотрю, он отсчитал только 10 сек. Можно это как-то исправить?

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
public class MainActivity extends AppCompatActivity implements CompoundButton.OnCheckedChangeListener{
 
    private TextView mTextTime;
    private ToggleButton toggleButton;
    int mCurrentPeriod = 0;
    private Timer myTimer;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        mTextTime=(TextView) findViewById(R.id.textView);
        AssetManager assetManager = getAssets();
        Typeface font =  Typeface.createFromAsset(assetManager,"fonts/source_sans_pro.light.ttf");
        mTextTime.setTypeface(font);
 
        toggleButton = (ToggleButton) findViewById(R.id.toggleButton);
        toggleButton.setOnCheckedChangeListener(this);
 
    }
 
    @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
              if(isChecked){
                  myTimer = new Timer();
                  myTimer.schedule(new TimerTask() {
                      @Override
                      public void run() {
                          TimerMethod();
                      }
                  }, 0, 1000);
              }
        else{
                  mCurrentPeriod = 0;
                  if (myTimer != null)
                      myTimer.cancel();
                  mTextTime.setText("00:00");
              }
    }
 
    private void TimerMethod() {
 
        this.runOnUiThread(Timer_Tick);
    }
 
    private Runnable Timer_Tick = new Runnable() {
        public void run() {
            mCurrentPeriod++;
            String temp = (new SimpleDateFormat("mm:ss")).format(new Date(
                    mCurrentPeriod * 1000));
            mTextTime.setText(temp);
 
 
        }
    };
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.07.2016, 14:39     Таймер останавливается при блокировке экрана
Посмотрите здесь:

Android Ошибка при повороте экрана
Сохранение объекта при повороте экрана Android
Android Непонятное поведение при повороте экрана
Ориентация экрана при загрузке данных Android
Обнуление переменных при блокировке Android
Android Отключить блокировку экрана при бездействии
Вспышка при блокировке телефона Android
Не отображать SplashScreen при смене ориентации экрана Android
При блокировке экрана выключить медиаплеер Android
Как запускать приложение при блокировке телефона? Android
Android Сохранить imageview при повороте экрана
При сворачивании приложения, останавливается радио Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
25.07.2016, 14:55     Таймер останавливается при блокировке экрана #2
Почитай про сервисы. Они точно работают даже во "время сна".
Yandex
Объявления
25.07.2016, 14:55     Таймер останавливается при блокировке экрана
Ответ Создать тему
Опции темы

Текущее время: 02:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru