我一直在尝试将结果变成
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();
但无济于事,因为它给了我一个空指针异常。
getTriggerTime()
返回一个long
不是Long
。参考这个
AlarmManager alarmManager = (AlarmManager)ctx.getSystemService(Context.ALARM_SERVICE);
long nextAlarmTime =alarmManager.getNextAlarmClock().getTriggerTime();
Date nextAlarmDate = new Date(nextAlarmTime);
System.out.println(nextAlarmDate);
在这里,返回值是警报将触发的时间。此值是 UTC 挂钟时间(以毫秒为单位)。