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