iOS-本地通知

在iOS中,本地通知非常適用于基于時(shí)間的行為.例如,有一個(gè)需求是讓用戶專注做某件事情一段時(shí)間. 時(shí)間到了后給個(gè)通知告知.實(shí)現(xiàn)這樣一個(gè)功能可以使用本地通知

實(shí)現(xiàn)如下效果:

Simulator Screen Shot 2016年5月26日 上午11.21.55.png
Simulator Screen Shot 2016年5月26日 上午11.17.48.png

本地通知實(shí)現(xiàn)步驟:
1.創(chuàng)建本地通知對(duì)象 ( UILocalNotification )
2.設(shè)置通知的屬性
3.讓應(yīng)用程序調(diào)用通知,使用UIApplication對(duì)象調(diào)用scheduleLocalNotification:方法
4.在iOS8.0之后,在調(diào)度通知之前需要使用 UIApplication的對(duì)象方法registerUserNotificationSettings:來(lái)請(qǐng)求用戶授權(quán)

代碼實(shí)現(xiàn)
定義本地通知對(duì)象屬性

/** 創(chuàng)建本地通知對(duì)象*/
@property (nonatomic,strong) UILocalNotification *lNotification;

懶加載

//懶加載
- (UILocalNotification *)lNotification{
    
    if (!_lNotification) {
        
        _lNotification = [[UILocalNotification alloc] init];
    }
    return _lNotification;
}

設(shè)置通知的屬性

 /** 設(shè)置通知的內(nèi)容*/
    self.lNotification.alertBody = @"時(shí)間到了";
    
    /** 設(shè)置通知觸發(fā)開(kāi)始的時(shí)間*/
    self.lNotification.fireDate = [NSDate dateWithTimeIntervalSinceNow:3];
    /**  設(shè)置時(shí)區(qū)*/
    self.lNotification.timeZone = [NSTimeZone defaultTimeZone];
    
    /** 設(shè)置應(yīng)用圖標(biāo)右上角的數(shù)字*/
    self.lNotification.applicationIconBadgeNumber = 1;
    
    /** 設(shè)置通知的音效(只有真機(jī)有效)*/
    self.lNotification.soundName = UILocalNotificationDefaultSoundName;

讓應(yīng)用程序調(diào)用通知

/** 讓應(yīng)用程序調(diào)用通知*/
    [[UIApplication sharedApplication] scheduleLocalNotification:self.lNotification];

更新顯示徽章數(shù)方法

 /** 更新顯示徽章數(shù)*/
    [UIApplication sharedApplication].applicationIconBadgeNumber = 0;

在iOS8.0之后,在調(diào)度通知之前需要使用 UIApplication的對(duì)象方法registerUserNotificationSettings:來(lái)請(qǐng)求用戶授權(quán),該方法需要在**application: didFinishLaunchingWithOptions: **中實(shí)現(xiàn)

/**
     *  在iOS8.0之后,在調(diào)度通知之前需要使用 UIApplication的對(duì)象方法registerUserNotificationSettings:來(lái)請(qǐng)求用戶授權(quán)
     
        UIUserNotificationType:
     
        UIUserNotificationTypeBadge       接收到通知可更改程序的應(yīng)用圖標(biāo)
        UIUserNotificationTypeSound       接收到通知可播放聲音
        UIUserNotificationTypeAlert       接收到通知提示內(nèi)容
     */
    if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) {
        UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge |UIUserNotificationTypeSound | UIUserNotificationTypeAlert categories:nil];
        [[UIApplication sharedApplication] registerUserNotificationSettings:settings];
    }

到此,可以實(shí)現(xiàn)本地通知功能.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、蘋果中的幾種通知 1、廣播通知(NSNotificationCenter) 1)實(shí)現(xiàn)一個(gè)對(duì)象對(duì)多個(gè)對(duì)象的通信 ...
    空白Null閱讀 1,263評(píng)論 0 1
  • iOS 本地通知和遠(yuǎn)程推送 推送通知的應(yīng)用,可以推送最新的消息給用戶,獲得更多的關(guān)注。推送分為本地推送和遠(yuǎn)程推送兩...
    李小六_閱讀 1,352評(píng)論 0 6
  • 本地通知是由本地應(yīng)用觸發(fā)的,它是基于時(shí)間行為的一種通知形式,例如鬧鐘定時(shí)、待辦事項(xiàng)提醒,又或者一個(gè)應(yīng)用在一段時(shí)候后...
    babybus_break閱讀 1,586評(píng)論 0 3
  • //聯(lián)系人:石虎QQ: 1224614774昵稱:嗡嘛呢叭咪哄 /**注意:本地通知 直接拷貝到AppDelega...
    石虎132閱讀 453評(píng)論 6 14
  • 去去去去去去去去去去去去去去去去去去去去去去去去去去去去去去去去去去去去去去去去
    JL93閱讀 165評(píng)論 0 0

友情鏈接更多精彩內(nèi)容