Я создаю приложение, в котором я устанавливаю будильники на определенное время. Для этого я использовал AlarmClock из Android для установки будильников. Здесь я пытаюсь показать следующее AlarmClock время в его приложении, чтобы узнать ближайший будильник.

Например: я установил будильники на 9:00 и 18:00 с помощью alarmManager.setAlarmClock(...), мое приложение показывает время следующего будильника с помощью alarmManager.getNextAlarmClock() на рабочем столе, говоря 9:00.

Вот проблема, с которой я сталкиваюсь, когда я устанавливаю некоторые другие будильники в моем Системном приложении Clocks и устанавливаю будильник на 8:00 AM. Это время будильника отражается в моем приложении, когда следующий будильник показывает, что следующий раз установлен на 8 : 00 вместо 9:00, чего не должно быть.

 private String getNextAlarmClock() {

    AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
        AlarmManager.AlarmClockInfo alarmClockInfo = alarmManager.getNextAlarmClock();

        Log.d(TAG, "time of next alarm in millis" + alarmClockInfo.getTriggerTime());

        return alarmClockInfo.getTriggerTime() + "";

}

Может ли кто-нибудь помочь мне в этом отношении. Эта помощь приветствуется, пожалуйста.

Заранее спасибо!

0
sudha 26 Фев 2018 в 10:26

1 ответ

Лучший ответ

Если вы позвоните в System Alarm Manager, то это будет общим для всех приложений на вашем мобильном телефоне. И getNextAlarmClock() сообщит вам о следующем будильнике, установленном на вашем мобильном телефоне, а не в вашем приложении. Если вы хотите, чтобы сигнал тревоги был специфическим для вашего приложения, вы должны создать его без использования Alarm Manager.

Если вы можете получить сигнал тревоги от системного менеджера сигналов тревоги, и проблема заключается только в отображении времени следующего сигнала тревоги, я бы рекомендовал использовать системный менеджер сигналов тревоги, чтобы установить время и сохранить эту информацию в базе данных / общих предпочтениях. Чтобы отобразить время следующего будильника, вы можете получить сохраненные данные из БД, а не из диспетчера аварийных сигналов.

1
Sudhin Philip 26 Фев 2018 в 11:31