IOS實現本地通知

jopen 12年前發布 | 32K 次閱讀 IOS iOS開發 移動開發

本地通知,local notification,用于基于時間行為的通知,比如有關日歷或者todo列表的小應用。另外,應用如果在后臺執行,iOS允許它在受限的時間內運 行,它也會發現本地通知有用。比如,一個應用,在后臺運行,向應用的服務器端獲取消息,當消息到達時,比如下載更新版本的提示消息,通過本地通知機制通知 用戶。

本地通知是UILocalNotification的實例,主要有三類屬性:

  • scheduled time,時間周期,用來指定iOS系統發送通知的日期和時間;
  • notification type,通知類型,包括警告信息、動作按鈕的標題、應用圖標上的badge(數字標記)和播放的聲音;
  • 自定義數據,本地通知可以包含一個dictionary類型的本地數據。
  • </ul>

    對本地通知的數量限制,iOS最多允許最近本地通知數量是64個,超過限制的本地通知將被iOS忽略。

    如果就寫個簡單的定時提醒,是很簡單的,比如這樣:

    20130607113115531.png

     

        UILocalNotification *localNotif = [[UILocalNotification alloc] init];

    if (localNotif == nil)
    
        return;
    
    //localNotif.fireDate = itemDate;
    
    //NSDate * now = [NSDate new];
    
    NSDate * date1 = [NSDate dateWithTimeInterval:8 sinceDate:date];
    
    localNotif.fireDate = date1;
    
    NSLog(@"now = %@",date1);
    
    localNotif.timeZone = [NSTimeZone defaultTimeZone];
    
    

    // Notification details

    localNotif.alertBody = @"吃飯時間到了,通知提醒 。。。。。。。。";
    
    

    // Set the action button

    localNotif.alertAction = @"View";
    
    localNotif.soundName = UILocalNotificationDefaultSoundName;
    
    localNotif.applicationIconBadgeNumber = 1;
    
    

    // Specify custom data for the notification

    NSDictionary *infoDict = [NSDictionary dictionaryWithObject:@"someValue" forKey:@"someKey"];
    
    localNotif.userInfo = infoDict;
    
    

    // Schedule the notification

    [[UIApplication sharedApplication] scheduleLocalNotification:localNotif];
    
    [localNotif release];
    
    
    
    

    // NSArray * array = [[UIApplication sharedApplication] scheduledLocalNotifications];

    // [[UIApplication sharedApplication] cancelAllLocalNotifications];

    // [[UIApplication sharedApplication] cancelLocalNotification:localNotif];</pre>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!