我想在小部件中显示下一个警报设置,因此我试图获取我刚刚在15:30h在手机上设置的警报的下一个警报时间
我正在使用代码:
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
返回以毫秒为单位的时间戳。