Таймер останавливается каждый раз, когда телефон спит

1

Я создаю это невероятно простое приложение, так как я только начинаю с Android, и у меня нет опыта работы с Java, что так всегда. Во всяком случае, у меня есть таймер и кнопка. Очевидно, кнопка запускает таймер, который отсчитывает от 60 (1 минута), а затем вибрирует, когда это делается. Все работали нормально до тех пор, пока я не решил нажать кнопку блокировки, чтобы перевести телефон в режим сна. Я узнал, что таймер в моем приложении перестает ходить, пока я не разблокирую телефон. Это также происходит, если я устанавливаю время автоматического спящего режима менее 60 секунд, и телефон засыпает сам. Мой вопрос: как я могу запустить этот хронометр, даже если экран не активен?

Теги:
timer

1 ответ

1
Лучший ответ

Вы должны сделать это с помощью BroadCastRecievers для системных вызовов. (Связанный полезный вопрос)

Вы также можете воспроизводить жизненные циклы Activity с помощью PowerManager.


Пример использования PowerManager:

@Override
protected void onPause()
{
    super.onPause();

    // If the screen is off then the device has been locked
    PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
    boolean isScreenOn = powerManager.isScreenOn();

    if (!isScreenOn) {
        // The screen has been locked
        // Continue your timer
    }
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню