天天看點

iOS實作本地通知(local notification)的方法

iOS 的本地通知(local notification)用于基于時間行為的通知,比如有關月曆或者 todo 清單的小應用。另外應用如果在背景執行,iOS 允許它在受限的時間内運 行,它也會發現本地通知有用。比如,一個應用在背景運作,向應用的伺服器端擷取消息,當消息到達時,比如下載下傳更新版本的提示消息,通過本地通知機制通知 使用者。

本地通知是UILocalNotification的執行個體,主要有三類屬性:

scheduled time,時間周期,用來指定iOS系統發送通知的日期和時間

notification type,通知類型,包括警告資訊、動作按鈕的标題、應用圖示上的badge(數字标記)和播放的聲音;

  • 自定義資料,本地通知可以包含一個dictionary類型的本地資料。

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

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

iOS實作本地通知(local notification)的方法

示例寫的很簡單,啟動應用後,就發出一個定時通知,10秒後啟動。這時按Home鍵退出,一會兒就會提示上圖的提示資訊。如果應用不退出則無效。

代碼如下:

UILocalNotification *notification=[[UILocalNotification alloc] init];      
if (notification!=nil) {      
NSLog(@">> support local notification");      
NSDate *now=[NSDate new];      
notification.fireDate=[now addTimeInterval:10];      
notification.timeZone=[NSTimeZone defaultTimeZone];      
notification.alertBody=@"該去吃晚飯了!";      
[[UIApplication sharedApplication]   scheduleLocalNotification:notification];