2013-12-12 13 views
5

Ich versuche, eine App mit einem lokalen Benachrichtigungssystem zu implementieren. Das System sollte einige unnötige Benachrichtigungen abbrechen. System.scheduleNotification funktioniert gut (es erstellt Benachrichtigungen und sie funktionieren gut), aber es gibt nil zurück (Es sollte eine ID zurückgeben). Daher kann ich keine Benachrichtigungen per Benachrichtigungs-ID abbrechen.Corona, system.scheduleNotification funktioniert nicht richtig

Eigentlich ist der Code, den ich verwende, sehr einfach. Jede Hilfe wäre hilfreich ...

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: Ich habe auch versucht system.scheduleNotification mit utcTime Argument.

Antwort

2

Sie haben nicht Ihren gesamten Code veröffentlicht, also habe ich keine Ahnung, was Ihr Code macht. Stellen Sie sicher, dass Ihre Warnung in Optionen eine Zeichenfolge ist. Es sollte wie folgt aussehen:

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

Denken Sie daran, ist der Code Ihres Systems notication sagen 1 an die Benachrichtigungstabelle hinzufügt. Gerade jetzt system.scheduleNotification ist kein string, es ist ein Tisch, so dass, wenn Ihr zu print(notifications[#notification]) versuchen würde es Sinn machen, dass es nil druckt. Ich denke, Sie müssten notification[alert] ausdrucken, aber ich bin mir nicht sicher. Schauen Sie sich den folgenden Link: http://lua-users.org/wiki/TablesTutorial

3

Sie bauen die App für corona simulator? Dann wird es nicht funktionieren. Erstellen Sie es für Xcode simulator zum Testen lokaler Benachrichtigungen. Ein Beispielprojekt (von corona Sample Code) Ausgabebild ist unten dargestellt:

enter image description here

Und der Code ist:

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 

Halten Coding .............. :)

+0

ich habe versucht, auf dem Gerät und auch Xcode-Simulator. Ich werde dieses Beispiel versuchen. Ich nehme an, es ist auf Corona-Site. Danke für die Antwort. –