2015-03-24 2 views
0

Так что я ищу способ получения ближайшего сигнала тревоги. Глядя на шкафчик, я вижу, что это возможно.получить ближайший сигнал тревоги

Просматривал все инет и не нашел ничего связанного с этим, в каждом посте говорится, что вы не можете получить доступ к списку тревог. Глядя на класс менеджера тревоги, я могу видеть, что есть класс:

AlarmManager.AlarmClockInfo An immutable description of an alarm clock. 

Это имеет:

getNextAlarmClock() Gets information about the next alarm clock currently scheduled. 

Я попытался, используя следующий код: https://code.google.com/p/android-alarm-database/, но не повезло

Is можно каким-то образом вызвать этот метод, потому что его не доступен или какой-либо другой метод?

EDIT: класс отображается в API 21 или выше. Мой следующий вопрос: есть ли библиотека совместимости, позволяющая использовать что-то подобное в старых API?

+0

Вы не можете сделать это до API 21. Таким образом, вам нужно реализовать свою собственную логику. –

ответ

0

Если вы наняты изготовителем устройств и, следовательно, можете быть уверены в внутренних компонентах ОС под своим приложением, вы можете попробовать отражение.

В противном случае я рекомендую TreeSet<Long> времени тревоги, сохраненного в/восстановленном с SharedPreferences.

+0

Хорошо, что функция отлично работает в api 21 или 22, не нуждается в отражении, обновленный вопрос - как получить доступ к следующей тревоге на старых api. Сохранение аварийных сигналов в базе данных не является решением для меня, я пытаюсь сделать шкафчик, и мне нужно отобразить следующий сигнал тревоги на экране. Видя, что Go Locker показывает это, есть какое-то решение, но, к сожалению, мне нужно искать больше – Tazz

+0

. Я имел в виду, что если у вас есть доступ к источнику, вы можете найти способ получить эту информацию из внутренних элементов, которые не отображаются через API (и это может быть отражение). Но это предполагает, что вы знаете, что стоит за API. – 18446744073709551615

0

Oki, поэтому я могу использовать alarmManager.getNextAlarmClock() для API 21 и 22, а для более старых я нашел это: android - get time of the next alarm отлично работает на нескольких устройствах.