关于本地通知的几个问题

时间:2017-12-27 16:11:50

标签: android codenameone localnotification

我不是新的Codename One用户,但这是我第一次在本框架中使用本地通知。在我的应用程序中,我有一个选择器,允许用户选择一个时间(小时和分钟)。我收到了用getTime()方法选择的时间。现在我希望我的本地通知在那时触发。我需要在Display.getInstance().scheduleLocalNotification()函数的第二个参数给出的正确值是多少?

到目前为止我所拥有的是这个样本,但我不明白如何将其应用于我的需求:

Display.getInstance().scheduleLocalNotification(notification, System.currentTimeMillis() + 10 * 1000, LocalNotification.REPEAT_NONE);

1 个答案:

答案 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);
}

设置秒和毫秒只是为了确保闹钟在用户选择的确切时间内消失。

您还可以更改日期,月份和年份,就像我们更改小时和分钟一样。