我正在尝试使用本地通知系统实施应用。系统应取消一些不必要的通知。 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
个参数。
答案 0 :(得分:3)
您是否正在构建corona simulator
的应用?然后它将无法正常工作。为Xcode simulator
构建它以测试本地通知。示例项目(来自corona Sample Code
)输出图像如下所示:
代码是:
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