2016-06-09 16 views
0

Ich habe einen Code in Corona, der eine Benachrichtigung 60 Sekunden nach dem Start der App auslöst. Es sieht so aus:Corona SDK - wiederholte Benachrichtigungen

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) 

Ich kann jedoch nicht finden, wie man das periodisch macht. Zum Beispiel einmal pro Minute, einmal pro Stunde, einmal pro Tag zu einer bestimmten Zeit usw.

Irgendwelche Ideen, wie man das macht?

Danke.

Grüße, Serban

Antwort

1

Ich glaube, Sie müssen dies in einer Schleife laufen, das so etwas wie (eine Stunde pro Minute):

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

Hinweis: Der Code ist nicht getestet und für Das Array könnte andere, bessere Möglichkeiten bieten, aber das sollte Ihnen eine Idee geben. Für die bestimmte Zeit müssen Sie eine UTC-Zeit anstelle der Anzahl der Sekunden von jetzt an verwenden.

Eine Tabelle, die die koordinierte Weltzeit (UTC) für die Übermittlung der Benachrichtigung angibt. Diese Tabelle sollte dieselben Eigenschaften enthalten wie os.date ("! * T"). Beachten Sie, dass ein häufiger Fehler darin besteht, "* t" anstelle von "! * T" zu übergeben, was zu einer Zeit führt, die in Ihrer aktuellen Zeitzone anstelle einer UTC-Zeit angegeben ist.

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

Hoffnung, das hilft.

+0

Ja, das hilft. Ich hatte gehofft, dass ich keine Schleife machen muss, weil es dann schwieriger ist, bestimmte Benachrichtigungen abzubrechen. –

+0

können Sie eine Tabelle erstellen, die die Handles für alle Benachrichtigungen enthält. Sie könnten auch Schlüsselpaare mit Anzeigenwerten eingeben, bei denen der Schlüssel die Uhrzeit und der Wert das Handle ist. Sie können also die Benachrichtigung nach ihrer Zeit abbrechen ... Ich werde meine Antwort aktualisieren, um das zu berücksichtigen. – FelixB

+0

gute Idee. Vielen Dank. das wollte ich - individuelle Benachrichtigungen abbrechen, nicht alle. –

Verwandte Themen