|
AlarmManager API 23+
|
|||
---|---|---|---|
#18+
Сталкнулся с пролемой при работе приложения, которе использует AlarmManager в Android 6.0. Проблема заключется в том, что AlarmManager перестал посылать PendingIntent в установленное время. В качестве получателя использовал BroadcastReceiver, WakefulBroadcastReceiver, Service. Установку производил всеми имеющимися у AlarmManagera методами. setExactAndAllowWhileIdle, setAndAllowWhileIdle, setRepeating и т.д. Установка осуществлялась из приложения и из сервиса. результат один и тот же - приемник не получает уведомление. Доки по Doze mode прочитаны, stackoverflow изучен. Может кто то знает как победить 6-й андроид? Спасибо!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2017, 01:30 |
|
AlarmManager API 23+
|
|||
---|---|---|---|
#18+
https://developer.android.com/reference/android/app/AlarmManager.html#setAlarmClock(android.app.AlarmManager.AlarmClockInfo, android.app.PendingIntent) тоже не работает? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2017, 10:00 |
|
AlarmManager API 23+
|
|||
---|---|---|---|
#18+
wadman https://developer.android.com/reference/android/app/AlarmManager.html#setAlarmClock(android.app.AlarmManager.AlarmClockInfo, android.app.PendingIntent) тоже не работает? Не работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2017, 10:52 |
|
AlarmManager API 23+
|
|||
---|---|---|---|
#18+
Есть подозрение, что после ухода в режим Doze система убивает приложение. И PendingIntnet'у приходить не куда. Даже если он и пытается. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2017, 11:05 |
|
AlarmManager API 23+
|
|||
---|---|---|---|
#18+
Если приложение не сворачивать (нажать Home), то все работает как следует. Но если свернуть события от АлармМанагера не доходят. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2017, 11:38 |
|
AlarmManager API 23+
|
|||
---|---|---|---|
#18+
Dmitry SukhovilinЕсть подозрение, что после ухода в режим Doze система убивает приложение. Скорее всего так и есть. Там имеется возможность добавлять приложение в исключения? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2017, 11:42 |
|
AlarmManager API 23+
|
|||
---|---|---|---|
#18+
wadmanDmitry SukhovilinЕсть подозрение, что после ухода в режим Doze система убивает приложение. Скорее всего так и есть. Там имеется возможность добавлять приложение в исключения? Есть, но это не правильный путь. Заставлять пользователя ходить в настройки батареи, что-бы устанавливать галочку - не беречь батарею :) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2017, 11:58 |
|
AlarmManager API 23+
|
|||
---|---|---|---|
#18+
Dmitry Sukhovilinwadmanпропущено... Скорее всего так и есть. Там имеется возможность добавлять приложение в исключения? Есть, но это не правильный путь. Заставлять пользователя ходить в настройки батареи, что-бы устанавливать галочку - не беречь батарею :) Этот путь навязан самой ОС в целях экономии батарейки. Если пользователю нужно, чтоб программа работала фоном, то он добавляет её в исключения. Либо рутом переносит приложение с систему и тогда оно становится "не убиваемым". ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2017, 12:06 |
|
AlarmManager API 23+
|
|||
---|---|---|---|
#18+
wadman, Код: plaintext 1. 2. 3. 4. 5. 6. 7.
Установил не беречь батарею для приложения галочку. Я так понимаю из логов, что аларм сработал. Но приложение уже было убито Активити Манагером. Это логи с телефона, не с эмулятора. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2017, 12:40 |
|
AlarmManager API 23+
|
|||
---|---|---|---|
#18+
http://apprize.info/google/asynchronous/7.html тут пишут, что нужно делать в зависимости от версии апи. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2017, 13:20 |
|
AlarmManager API 23+
|
|||
---|---|---|---|
#18+
wadman http://apprize.info/google/asynchronous/7.html тут пишут, что нужно делать в зависимости от версии апи. Читал уже. Там ценные советы только до 23 версии. После Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2017, 14:19 |
|
AlarmManager API 23+
|
|||
---|---|---|---|
#18+
Ну я (почти) точно знаю, что поможет :) таргет изменить на 19 или меньше, тогда оно будет работать в режиме совместимости. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2017, 14:36 |
|
AlarmManager API 23+
|
|||
---|---|---|---|
#18+
wadmanНу я (почти) точно знаю, что поможет :) таргет изменить на 19 или меньше, тогда оно будет работать в режиме совместимости. Это самое первое, что попробовал. Код: xml 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2017, 14:54 |
|
AlarmManager API 23+
|
|||
---|---|---|---|
#18+
Dmitry SukhovilinЯ так понимаю из логов, что аларм сработал. Но приложение уже было убито Активити Манагером. оно всегда моет быть убито Осью. Подымай по будильнику опять если надо. В чём проблема? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2017, 15:20 |
|
AlarmManager API 23+
|
|||
---|---|---|---|
#18+
Petro123Dmitry SukhovilinЯ так понимаю из логов, что аларм сработал. Но приложение уже было убито Активити Манагером. оно всегда моет быть убито Осью. Подымай по будильнику опять если надо. В чём проблема? Дык не поднимается. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2017, 15:22 |
|
AlarmManager API 23+
|
|||
---|---|---|---|
#18+
Dmitry SukhovilinДык не поднимается. кто и что не подымается)) LOL Андроид по интенту не подымает активити ни разу не запущенного приложения? (перегрузили). Не верю. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2017, 15:40 |
|
AlarmManager API 23+
|
|||
---|---|---|---|
#18+
Полный пример. Форма с 2-мя кнопками. 1-я заводит будильник на 30 сек. 2-я показывает, что находится в шаред преференс. будильник делает запись в шаред префреренс - что-бы было видно сработал или нет. Если форму не закрывать работает. Если свернуть - будильник пропадает. (Время в шаред преференс не обновляется). MainActivity.java Код: 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.
MyReceiver.java Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Форма Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
Манифест Код: xml 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2017, 18:27 |
|
AlarmManager API 23+
|
|||
---|---|---|---|
#18+
Dmitry SukhovilinЕсли свернуть - будильник пропадает. где логи? 2. В ресивер пропиши context.startService(new Intent(context, MyService.class)); ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2017, 19:19 |
|
AlarmManager API 23+
|
|||
---|---|---|---|
#18+
Petro123, Ресивер НЕ получает вызов onReceive(). В onReceive() происходит запись в ShardPreferences это и есть индикатор того, что onReceive() был вызван. Логи Андроид Монитор http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1253973&msg=20313491 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2017, 19:30 |
|
AlarmManager API 23+
|
|||
---|---|---|---|
#18+
Dmitry SukhovilinРесивер НЕ получает вызов onReceive(). В onReceive() происходит запись в ShardPreferences это и есть индикатор того, что onReceive() был вызван. ничего не понял. Дак событие приходит или нет если поставить все настройки против doze? Ещё раз: - написал приложение - поставил будильник на 6 утра - ПЕРЕГРУЗИЛ т.е. приложения в памяти нету - в 6 утра должен запуск активити на экран Доброе утро! .......... В чём проблема? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2017, 20:02 |
|
AlarmManager API 23+
|
|||
---|---|---|---|
#18+
Petro123Dmitry SukhovilinРесивер НЕ получает вызов onReceive(). В onReceive() происходит запись в ShardPreferences это и есть индикатор того, что onReceive() был вызван. ничего не понял. Дак событие приходит или нет если поставить все настройки против doze? Ещё раз: - написал приложение - поставил будильник на 6 утра - ПЕРЕГРУЗИЛ т.е. приложения в памяти нету - в 6 утра должен запуск активити на экран Доброе утро! .......... В чём проблема? Если приложение свернуть, то AlarmManager не вызывает привязанный к нему PendingIntent. Т.е. ничего не происходит. Нет вызова. Никак. Совсем нет. Если приложение оставить запущенным и усыпить телефон - все работает. На зарядке стоит все работает. Нажать Home и после этого усыпить - не работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2017, 20:52 |
|
AlarmManager API 23+
|
|||
---|---|---|---|
#18+
И не важно, как именно был сделан вызов - Service, BroadcastReceiver, тупо из Activity. Перебрал все возможные варианты. Или так сделать ваще нельзя в 6.0 или что-то я не так делаю. Вот на этот вопрос я и не могу найти ответ. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2017, 20:54 |
|
AlarmManager API 23+
|
|||
---|---|---|---|
#18+
Dmitry SukhovilinЕсли приложение свернуть, то AlarmManager не вызывает привязанный к нему PendingIntent. в 20-ый раз. Будильник должен работать с сервисом который нельзя свернуть. И проблемы твоей не будет. Активити это - ГУИ. Андроид знает что если ГУИ нет, то и будильник не нужен. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2017, 21:23 |
|
AlarmManager API 23+
|
|||
---|---|---|---|
#18+
Petro123, Да пробовал уже. Добавим сервис и ресивер. Работает так: MainReceiver запускает AlarmService в котором AlarmManager через 30 сек посылает вызов в NotifReceiver. NotifReceiver Делает пометку в SharedPreferences (timestamp) о том, что сообщение прибыло. UI нужен только для того, что бы посмотреть в SharedPreferences обновился ли timestamp. Весь код ниже. Код: xml 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.
Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Код: java 1. 2. 3. 4. 5. 6. 7.
Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2017, 23:05 |
|
AlarmManager API 23+
|
|||
---|---|---|---|
#18+
Dmitry Sukhovilin, Задача: запускать ежедневно в конце дня сервис, который собирает статистику и записывает ее в БД. Реализую, используя AlarmManager. Код активити: http://www.cyberforum.ru/android-dev/thread1881826.html Работает у мужика? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2017, 23:53 |
|
|
start [/forum/topic.php?fid=13&msg=39423018&tid=1331002]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 312ms |
total: | 455ms |
0 / 0 |