Corona SDK - 重复的通知

我在 Corona 中有一些代码,它会在 app 启动后 60 秒触发通知。它看起来像这样:

local notifications = require("plugin.notifications")
-- 设置通知选项
local notificationOptions = {
    alert = "起床啦!",
    badge = 2,
    sound = "alarm.caf",
    custom = { foo = "bar" }
}
local notification1 = notifications.scheduleNotification( 60, notificationOptions )

但是,我找不到如何让它定期重复。例如,每分钟一次、每小时一次、每天在特定时间一次等等。

有什么想法吗?

谢谢。

敬礼, Serban

点赞
用户3038364
用户3038364

我认为你需要在一个循环中运行这段代码,类似于这样(每分钟运行一小时):

local notificationTable = []
for i=1,60 do
  local time = 60*i
  local handle = notifications.scheduleNotification( time, notificationOptions )
  notificationTable[time] = handle
end

注意:该代码未经过测试,并且对于数组可能还有其他更好的方法,但这应该能够给你一个思路。对于特定的时间,你需要使用一个 UTC 时间,而不是从现在开始的秒数。

一个表格指示通知发送的协调世界时(UTC)。该表格应包含与 os.date("!*t") 返回的属性相同。注意,常见的错误是传递“*t”而不是“!*t”,导致给出的时间是你当前时区的时间,而不是 UTC 时间。

https://docs.coronalabs.com/daily/plugin/notifications/scheduleNotification.html

希望有所帮助。

2016-06-10 16:19:51