从下一个警报获取日期

时间:2016-03-07 08:48:20

标签: java android date time alarm

我一直试图改变

的结果
AlarmManager m = (AlarmManager)ctx.getSystemService(Context.ALARM_SERVICE);
String next=m.getNextAlarmClock().getTriggerTime();

进入一个长变量(我想要来自epoch的ms),事情是(显然)我无法直接转换它,因为变量next仅包含有关星期几和时间的信息警报。

我是否需要手动添加日期中缺少的所有信息?或者有任何方法可以做到吗?

我也尝试使用

 AlarmManager m = (AlarmManager)ctx.getSystemService(Context.ALARM_SERVICE);
 long next=m.getNextAlarmClock().getTriggerTime();

但无济于事,因为它给了我一个nullpointer异常。

1 个答案:

答案 0 :(得分:1)

getTriggerTime()会返回long而不是Long。请参阅this

AlarmManager alarmManager = (AlarmManager)ctx.getSystemService(Context.ALARM_SERVICE);
long nextAlarmTime =alarmManager.getNextAlarmClock().getTriggerTime();

Date nextAlarmDate = new Date(nextAlarmTime);
System.out.println(nextAlarmDate);

此处,返回值是警报触发的时间。此值是UTC挂钟时间,以毫秒为单位。