我不是新的Codename One用户,但这是我第一次在本框架中使用本地通知。在我的应用程序中,我有一个选择器,允许用户选择一个时间(小时和分钟)。我收到了用getTime()方法选择的时间。现在我希望我的本地通知在那时触发。我需要在Display.getInstance().scheduleLocalNotification()
函数的第二个参数给出的正确值是多少?
到目前为止我所拥有的是这个样本,但我不明白如何将其应用于我的需求:
Display.getInstance().scheduleLocalNotification(notification, System.currentTimeMillis() + 10 * 1000, LocalNotification.REPEAT_NONE);
答案 0 :(得分:1)
来自该方法的Java文档
@param firstTime时间(以毫秒为单位) 通知@param重复以下之一:REPEAT_NONE, REPEAT_FIFTEEN_MINUTES,REPEAT_HALF_HOUR,REPEAT_HOUR,REPEAT_DAY, REPEAT_WEEK
因此,您可以使用Date对象方法getTime()
以毫秒为单位返回该日期对象的时间。
修改
我们假设这是您的时间选择器的回调
public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
Calendar date = Calendar.getInstance(); // This is the time now, so the day is set to today
date.set(Calendar.HOUR_OF_DAY, hourOfDay);
date.set(Calendar.MINUTE, minute);
date.set(Calendar.MINUTE, 0);
date.set(Calendar.MILLISECOND, 0);
Display.scheduleLocalNotification(LocalNotification, date.getTime().getTime(), repeat);
}
设置秒和毫秒只是为了确保闹钟在用户选择的确切时间内消失。
您还可以更改日期,月份和年份,就像我们更改小时和分钟一样。