Программирование (проблема с AlarmManager)

Тема в разделе "Xiaomi Mi2 / Mi2S", создана пользователем anton-09, 14 июл 2013.

  1. TopicStarter Overlay
    Оффлайн

    anton-09 Новичок

    Регистрация:
    14 июл 2013
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Версия MIUI:
    5.11.12
    Устройство:
    Xiaomi Mi4c
    Добрый день, пробовал создавать подобную тему на форуме программистов, там не ответили, может здесь повезет больше. Суть проблемы вот в чем. Написал элементарную программу, которая программирует AlarmManager выдавать сообщение раз в 10 секунд. Тестирую на эмуляторе SDK - все ок, на эмуляторе BlueStacks - все ок, на планшете (ICS 4.0.3) - все ок, на Xiaomi MI-2S (прошивка 3.7.5) - сообщения выдаются кратно 5 минутам с округлением вверх!! 3, 5, 10 секунд - все одно и то же - срабатывает раз в 5 минут. Если поставить 6 минут - будет срабатывать раз в 10 минут. Что это может быть за баг?
     
  2. Оффлайн

    gdb417 Заинтересованный

    Регистрация:
    15 май 2013
    Сообщения:
    10
    Симпатии:
    11
    Баллы:
    3
    Этот баг появился на прошивке v5 для Ми2. На v4 все было нормально. Китайцы почему то его не торопятся исправить.Или может не знают о нем. Из за него невозможно пользоваться сторонними таймерами. Срабатывают точно так, как Вы и описали.
    А Вы не могли бы запостить все вышесказанное по английски на Ссылки могут видеть только зарегистрированные пользователи. Зарегистрируйтесь или авторизуйтесь для просмотра ссылок! и вот здесь Ссылки могут видеть только зарегистрированные пользователи. Зарегистрируйтесь или авторизуйтесь для просмотра ссылок!
     
    anton-09 нравится это.
  3. TopicStarter Overlay
    Оффлайн

    anton-09 Новичок

    Регистрация:
    14 июл 2013
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Версия MIUI:
    5.11.12
    Устройство:
    Xiaomi Mi4c
    Спасибо большое за ответ, а то уже и не знал что делать, хоть прошивку ковырять. Обязательно сделаю перепост по указанным ссылках. А пока китайцы не исправили, нашел обходное решение, вдруг кому поможет
    вместо
    Код:
    alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime(), 5 * 1000, pendingIntent);
    можно использовать
    Код:
    alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime(), 5 * 1000, pendingIntent);
    полагаю это вызовет некоторые проблемы с пробуждением устройства, однако, таймер срабатывает корректно
     

Поделиться этой страницей

Пользователи просматривающие тему (Пользователей: 0, Гостей: 0)