2011-12-20 52 views
3

設備關閉時計劃UILocalNotofication會發生什麼情況。iPhone關閉時的UILocalNotification

例如,我每天下午3點安排一次UILocalNotification。但是該設備從下午3點到下午4點關閉。我猜想以下任何一種情況都是正確的。

  • 設備重新啓動後沒有通知被觸發。當設備在下午4:00

即重新開始我沒有設備,無法測試它在模擬器

  • 通知被觸發。

    注:關掉我的意思是,該設備被關閉,而不是睡眠/模式下

  • 回答

    0

    站在當你關閉你的設備,通知變成不存在的,所以,當你把你的設備重新開啓,如果沒有再次創建該通知,則不會發生任何事情。

    因此,如果您爲3PM安排事件,並且您的設備在下午2:59關閉,然後在下午3:59重新啓動,則通知不會因爲必須重新創建而觸發。

    +3

    這是不正確的。本地通知會持續重啓,除非在設備關閉時發生火災,否則不會丟失。 – Dev

    +0

    那麼,對此的判決是什麼?有沒有人有任何引用來支持這兩種理論? – Cashew

    +0

    嗨,一個簡單的問題?假設,我已在明天上午11點設定通知。然後關閉應用程序。然後去設置日期時間,並在明天和上午10:55更改。所以,5分鐘後,我可以收到通知嗎?目前我沒有收到任何通知。你能幫忙嗎?並分享你的想法。非常感謝。 –

    4

    關閉和打開設備後會觸發本地通知。

    我寫了一個小小的測試程序,用於驗證這種行爲:

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
        [[UIApplication sharedApplication] cancelAllLocalNotifications]; 
    
        NSDate *nowDate = NSDate.date; 
    
        for (int i = 1; i <= 50; i++) { 
         UILocalNotification *n = [[UILocalNotification alloc]init]; 
    
         n.fireDate = [nowDate dateByAddingTimeInterval:60 * i ]; 
         n.applicationIconBadgeNumber = 0; 
    
         n.alertAction = @"Open"; 
         n.alertBody = [NSString stringWithFormat:@"ln %@ %@", @(i), n.fireDate]; 
         [[UIApplication sharedApplication] scheduleLocalNotification:n]; 
        } 
        return YES; 
    }