2016-03-07 42 views
1

我一直在试图打开的从下一个报警

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

结果成一个长变量(我想从时代毫秒),东西(显然)乘车日期,我不能转换因为变量next只包含有关星期几和闹钟时间的信息。

我是否需要手动添加日期中缺失的所有信息?或者有没有办法呢?

我还试图用

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

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

回答

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挂钟时间。

+0

非常感谢你,这是一个打字错误,在我使用很久的程序中。无论如何,我再次尝试使用您的代码,但它会抛出以下异常:“/com.example.almudena.mad_btv1 E/AndroidRuntime:致命异常:主要程序:com.example.almudena.mad_btv1,PID:26198 java。 lang.NullPointerException:尝试在空对象引用上调用虚拟方法'long android.app.AlarmManager $ AlarmClockInfo.getTriggerTime()' – Wazowski