java - 尝试使用 "getNextAlarmClock()"获取下一个闹钟时间,但没有得到正确的答案

标签 java android alarmmanager

我想在小部件中显示下一个闹钟设置,因此我试图获取我刚刚在手机上设置的闹钟的下一个闹钟时间(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;
    }

这将返回 logcat 中的 nextAlarm 字符串
:W/nextAlarm: android.app.AlarmManager$AlarmClockInfo@4e0bf32
在SdkVersion 29上运行

我做错了什么?

最佳答案

如果您需要时间,请使用 aci.getTriggerTime() 而不是 aci.toString()AlarmClockInfo::getTriggerTime 返回时间戳(以毫秒为单位)。

关于java - 尝试使用 "getNextAlarmClock()"获取下一个闹钟时间,但没有得到正确的答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60633145/

相关文章:

java - 如何从 ArrayList 中检索由数组对象组成的数据

Android:使用警报管理器定期获取电池状态

java - JPA(使用 Hibernate)重新连接 @OneToMany 中的现有实体 -

java - 使用附加代码的 SSLSocket 通信是否安全?

Android全屏动画,最好的方法是什么?

android - Firebase orderbychild().equalto() 显示为空

java - Android - AlarmManager 每 5 秒触发一次,而不是 3 分钟

java - 清除 RAM 停止显示通知

java - 拖放中的 NPE

java - 使用 0,1 而不是 ""替换字符串的一部分