@Dracontis
Java Developer, Django enthusiast

Как протестировать Alarm Manager на Android?

Воспользовавшись статьей на StackOverflow, я сделал что-то подобное у себя, включая регистрацию сигнала при запуске и сервис.

Дебаггер не заходил ни в Alarm-класс, ни в Service-класс, ни BootStart-класс, даже несмотря на строчку waitForDebugger(). После некоторых мучений, я добавил прямой вызов сервиса при старте начального Activity и кое-как все-таки добился вызова сервиса, где и зарегистрировал сигналы, которые срабатывают раз в минуту.

В итоге появляется что-то вроде:

02-06 21:55:47.894      101-116/system_process E/ActivityManager﹕ ANR in com.dracontis.Activities:remote
    Reason: Broadcast of Intent { flg=0x14 cmp=com.dracontis.Activities/com.dracontis.Services.DailyAlarm (has extras) }
    Load: 0.34 / 0.18 / 0.05
    CPU usage from 4960ms to -1792ms ago:
    16% 101/system_server: 10% user + 5.7% kernel / faults: 217 minor
    0.8% 186/com.android.phone: 0.4% user + 0.4% kernel / faults: 23 minor
    0.4% 44/adbd: 0% user + 0.4% kernel
    0.2% 154/com.android.systemui: 0.2% user + 0% kernel / faults: 17 minor
    0.2% 1802/com.dracontis.Activities:remote: 0.2% user + 0% kernel / faults: 60 minor
    0.1% 35/surfaceflinger: 0.1% user + 0% kernel
    0% 675/logcat: 0% user + 0% kernel
    23% TOTAL: 15% user + 8.2% kernel + 0.3% softirq
    CPU usage from 1156ms to 1747ms later:
    8.6% 101/system_server: 1.7% user + 6.8% kernel
    8.6% 116/ActivityManager: 3.4% user + 5.1% kernel
    26% TOTAL: 0% user + 21% kernel + 5.2% softirq


Решил все же задать вопрос, но не могла быть причина в том, что вместо:
<action android:name="android.intent.action.BOOT_COMPLETED"></action>

Я использую
<action android:name="android.intent.action.BOOT_COMPLETED"/>

Или причина в чем-то другом?
  • Вопрос задан
  • 2961 просмотр
Решения вопроса 1
@Dracontis Автор вопроса
Java Developer, Django enthusiast
Да, зря я бездумно решил копировать код. Лучше все же пример:

khurramitdeveloper.blogspot.ru/2013/06/android-ala...

После того, как подстроил под приложение - все заработало. На Stackoverflow где-то ошибка, да и просто запутаться в выкладках кода.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы