Corona,system.scheduleNotification无法正常工作

时间:2013-12-12 14:50:17

标签: lua system corona uilocalnotification

我正在尝试使用本地通知系统实施应用。系统应取消一些不必要的通知。 System.scheduleNotification工作正常(它创建通知并且它们工作正常)但它返回nil(它应该返回一个ID)。所以我无法通过通知ID取消任何通知。

实际上我使用的代码非常简单。任何帮助都会有所帮助......

local nextRefreshTime = 60 -- Not always 60, its just an example
local options = {
    alert = "Some text here.",
    badge = ( native.getProperty( "applicationIconBadgeNumber" ) or 0 ) + 1,
}

notifications[#notifications+1] = system.scheduleNotification( nextRefreshTime, options )
print(notifications[#notifications]) -- Prints nil !?!
-- Another example (test)
print( system.scheduleNotification( nextRefreshTime, options ) ) -- Also prints nil !?!

p.s:我还尝试了system.scheduleNotification utcTime个参数。

2 个答案:

答案 0 :(得分:3)

您是否正在构建corona simulator的应用?然后它将无法正常工作。为Xcode simulator构建它以测试本地通知。示例项目(来自corona Sample Code)输出图像如下所示:

enter image description here

代码是:

local options = {
   alert = "Wake up!",
   badge = 1,
   sound = "alarm.caf",
   custom = { msg = "bar" }
}

notificationID = system.scheduleNotification( time, options )

local displayText = "Notification using Time: " .. tostring( notificationID )
print( displayText ) -- It will print the user data

保持编码..............:)

答案 1 :(得分:2)

您没有发布所有代码,因此我不知道您的代码在做什么。确保在选项中警报是一个字符串。看起来应该是这样的:

local options = {
    alert = "Wake up!",
    badge = 2,
}

请记住,您的代码表示您的系统通知正在向通知表中添加1。现在system.scheduleNotification不是string,而是一张桌子,所以当您尝试print(notifications[#notification])时,打印nil会有意义。我想你必须打印notification[alert],但我不确定。请查看此链接:http://lua-users.org/wiki/TablesTutorial