我想在小部件中显示下一个警报集,所以我正在尝试获取我刚刚在手机上设置的警报的下一个报警时间,时间为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;
}
这将返回在SdkVersion 29 上运行的logcat:W/nextAlarm: android.app.AlarmManager$AlarmClockInfo@4e0bf32
中的nextAlarm字符串
我做错了什么?
如果需要时间,请使用aci.getTriggerTime()
而不是aci.toString()
。AlarmClockInfo::getTriggerTime
以毫秒为单位返回时间戳。