Попытка получить следующий будильник с помощью getNextAlarmClock (), но не дает правильного ответа - PullRequest
0 голосов
/ 11 марта 2020

Я хотел бы показать следующий набор будильников в виджете, поэтому я пытаюсь получить следующий будильник для будильника, который я только что установил на своем телефоне в 15:30

Я использую код:

    String nextAlarm = "";
    if(android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
        try {
            assert alarmManager != null;
            AlarmManager.AlarmClockInfo aci = alarmManager.getNextAlarmClock();
            nextAlarm = aci.toString();
             Log.w("nextAlarm ", aci.toString());

        } catch (Exception e) {
            e.printStackTrace();
        }
    }  else {
        nextAlarm = Settings.System.NEXT_ALARM_FORMATTED;
    }

Возвращает строку nextAlarm
в logcat: W/nextAlarm: android.app.AlarmManager$AlarmClockInfo@4e0bf32
, работающую в SdkVersion 29

Что я делаю не так?

1 Ответ

1 голос
/ 11 марта 2020

Если вам нужно время, используйте aci.getTriggerTime() вместо aci.toString(). AlarmClockInfo::getTriggerTime возвращает отметку времени в миллисекундах.

...