【问题标题】:Corona SDK - repeated notificationsCorona SDK - 重复通知
【发布时间】:2016-09-20 08:08:10
【问题描述】:

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

local notifications = require( "plugin.notifications" )
-- Set up notification options
local notificationOptions = {
    alert = "Wake up!",
    badge = 2,
    sound = "alarm.caf",
    custom = { foo = "bar" }
}
local notification1 = notifications.scheduleNotification( 60, notificationOptions )

但是,我无法找到如何使这个周期性。例如,每分钟一次、每小时一次、每天特定时间一次等。

有什么想法吗?

谢谢。

问候, 塞尔维亚

【问题讨论】:

    标签: lua notifications coronasdk


    【解决方案1】:

    我认为你需要循环运行它,像这样(每分钟一小时):

       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

    希望对您有所帮助。

    【讨论】:

    • 是的,这有帮助。我希望不必循环,因为那样取消特定通知会更加困难。
    • 您可以创建一个表格来保存所有通知的句柄。您还可以广告键值对,其中键是时间,值是句柄,因此您可以按时间取消通知...我将更新我的答案以反映这一点。
    • 好主意。谢谢。这就是我想要的 - 取消个别通知,而不是全部。
    猜你喜欢
    • 2017-01-18
    • 1970-01-01
    • 2013-06-08
    • 1970-01-01
    • 2016-07-31
    • 1970-01-01
    • 1970-01-01
    • 2013-12-18
    • 2017-03-14
    相关资源
    最近更新 更多