在蘋果的開發API中有3個不同的通知,分别是廣播通知、本地通知、推送通知。
本地通知
本地通知,它是把一些消息提示給使用者。它隻能使用在iOS裝置中,它可以立刻發出通知,也可以在計劃時間後發出。
消息提示給使用者時,有三種形式:
2-1、橫幅通知,即在狀态欄位置出一個小橫幅條,顯示幾秒鐘之後就會消失;
2-2、提醒通知,即在裝置的螢幕中間彈出一個對話框(此種提醒方式使用者體驗較差,因為會打擾使用者正在進行的其他操作)。
這兩種消息提示形式可以在系統設定中改變。設定方法:設定——通知——選擇應用程式——設定消息提醒形式或關閉。
2-3、在應用程式的圖示上添加标記,該标記是在圖示右上角顯示紅色數字
代碼示例
// 方法1 在計劃時間發出通知,建立通知
- (void)setNotificationLocal
{
UILocalNotification *localNotification = [[UILocalNotification alloc] init];
// 設定10秒後觸發
localNotification.fireDate = [[NSDate alloc] initWithTimeIntervalSinceNow:10];
// 設定通知消息
localNotification.alertBody = @"計劃通知,新年好!";
// 設定通知标記數
localNotification.applicationIconBadgeNumber = 1;
// 設定通知出現時的聲音
localNotification.soundName = UILocalNotificationDefaultSoundName;
// 設定動作按鈕的标題
localNotification.alertAction = @"View Details";
// 通知發送
[[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
}
// 方法2 立刻發送通知,建立通知
注意:立刻發送通知與計劃内發出通知一樣,不同的時發送通知的使用方法不同,立刻發送通知不需要設定通知的fireDate屬性,且發送通知方法為presentLocalNotificationNow:。
- (void)setNotificationLocal
{
UILocalNotification *localNotification = [[UILocalNotification alloc] init];
// 設定通知消息
localNotification.alertBody = @"計劃通知,新年好!";
// 設定通知标記數
localNotification.applicationIconBadgeNumber = 1;
// 設定通知出現時的聲音
localNotification.soundName = UILocalNotificationDefaultSoundName;
// 設定動作按鈕的标題
localNotification.alertAction = @"View Details";
// 通知發送
[[UIApplication sharedApplication] presentLocalNotificationNow:localNotification];
}
// 結束通知
- (void)stopNotificationLocal
{
[[UIApplication sharedApplication] cancelAllLocalNotifications];
}