天天看點

iOS 通知——本地通知

在蘋果的開發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];
}