Я пытаюсь написать простое приложение, которое должно отключить звук моего мобильного телефона на определенное время. Это мое первое приложение для Android, но после многих часов чтения, я думаю, оно почти завершено. Но у него все еще есть одна проблема, которую я не могу исправить.
Я использую активность для отображения графического интерфейса. У него есть кнопки для установки времени начала и окончания, а также все остальное, что нужно. Когда пользователь ввел все параметры, они передаются в сервис. Этот сервис использует объект-обработчик для регистрации 2 обратных вызовов (с Handler.postDelayed). Один для начала Mute и один для End Mute (в SetMuteIntervall).
Первые тесты, похоже, сработали, но если я попытаюсь отключить звук на 30 минут, он никогда не включается. Я думаю, что это связано с тем, что мобильный телефон находится или находился в режиме ожидания. Я также попытался использовать Handler.postAt (), но это тоже не сработало (и время относительно времени работы было несколько запутанным).
Итак, что я должен сделать, чтобы гарантировать, что мои обратные вызовы вызваны, независимо от того, находится телефон в режиме ожидания или нет?
Вот источник моей программы:
http://pastebin.com/XAgCeAq9
http://pastebin.com/33nepFV5