我正在尋找一種方法,使「本地」推送通知。我無法弄清楚我該怎麼做,所以我正在尋求一些幫助。我需要的是:
- 一種爲24小時內未打開應用程序的用戶發送通知的方式。 (或者說一個INT還沒有變化)
我真的希望你們中的一個有時間幫我,謝謝!
我正在尋找一種方法,使「本地」推送通知。我無法弄清楚我該怎麼做,所以我正在尋求一些幫助。我需要的是:
我真的希望你們中的一個有時間幫我,謝謝!
這是非常簡單的:
1)當應用程序被關閉,安排本地通知,如果應用程序被打開,將在24小時內
- (void)applicationDidEnterBackground:(UIApplication *)application
{
UILocalNotification *notification = [[UILocalNotification alloc] init];
notification.fireDate = [[NSDate date] dateByAddingTimeInterval:60*60*24];
notification.alertBody = @"24 hours passed since last visit :(";
[[UIApplication sharedApplication] scheduleLocalNotification:notification];
}
2)火(在本地通知觸發之前),取消本地通知
- (void)applicationDidBecomeActive:(UIApplication *)application
{
[[UIApplication sharedApplication] cancelAllLocalNotifications];
}
謝謝,這有助於很多! –
我有一個快速問題: - 如果我現在想檢查它是否正常工作,我該如何製作一個在30或10秒內發送此通知的版本? –
只需將'60 * 60 * 24'改爲'30'(這是從'now'開始的秒數) – tilo
可以使用UILocalNotification用於此目的。
和實現UIApplicationapplicationWillTerminate
和applicationDidEnterBackground
代表,如:
- (void)applicationWillTerminate:(UIApplication *)application
{
[self scheduleNotification];
}
- (void)applicationDidEnterBackground:(UIApplication *)application
{
[self scheduleNotification];
}
- (void)scheduleNotification
{
UILocalNotification *locNot = [[UILocalNotification alloc] init];
locNot.fireDate = [NSDate dateWithTimeIntervalSinceNow:60 * 60 * 24];
[[UIApplication sharedApplication] scheduleLocalNotification: locNot];
}
當你進入到你的應用程序,你需要取消此通知。所以實施applicationDidBecomeActive
就好;
- (void)applicationDidBecomeActive:(UIApplication *)application
{
[[UIApplication sharedApplication] cancelAllLocalNotifications];
}
我在爲您輸入標籤*時注意到*表示ui-local-not ification是列出的標籤。這讓我懷疑你在來這裏之前試圖找到解決問題的辦法。 – borrrden