麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

IOS本地通知

2019-11-14 18:42:46
字體:
來源:轉載
供稿:網友

  在移動設備上,通常只有一個應用是處于活躍狀態,如果這個時候其他的一些應用接收到新的消息或者發生變化,需要通知給用戶,就可以通過通知機制來告知用戶。此外,安裝在設備上的App很多都成為了僵尸應用,安裝之后就很少再打開使用,為了避免這種情況,在程序中可以添加通知,在指定的時刻來提示用戶使用。

  在IOS開發中,通知機制大致分為兩大類,本地通知和遠程通知,兩種方式實現的效果一樣,都是通過橫幅或者彈出提醒的方式告知用戶,點擊通知時可以打開App,但是它們實現的原理不一樣。在這里,主要來講解一下本地通知。

  本地通知是由本地的App自己發出的,它是一種基于時間行為的通知形式,它是在按home鍵退出App或者鎖屏鍵退出后觸發的,在對應的App的icon上顯示通知的條數。本地通知比較實用,比如鬧鐘定時、代辦事項提醒等都是通過它來實現的。

  如果實現了通知,用戶在第一次打開App的時候,會提示是否打開通知,如果用戶選不允許,就不能使用通知這個功能,除非用戶取去設置中再次進行設置。雖然本地通知能夠提示用戶來使用App,但是也不要頻繁的通知,否則會適得其反。

一、使用本地通知的步驟

1. 創建UILocationNotification

2. 設置處理通知的時間fireDate

3. 配置通知的內容:通知主體、通知聲音、圖標文字等

4. 配置通知傳遞的自定義數據(可選)

5. 調用通知

二、本地通知代碼實現

(一)先去AppDelegate.m中的didFinishLaunchingWithOptions

  方法中判斷一下是否已經獲得創建本地通知的授權,如果沒有獲得,請求授權。

  當用戶第一次打開App時,會彈出界面,詢問是否允許實現通知,如果用戶選擇不允許,那么則無法發送通知,除非去設置中進行設置,彈出界面如圖所示:

 

  代碼:

  if ([[UIapplication sharedApplication]currentUserNotificationSettings].types==UIUserNotificationTypeNone){                [[UIApplication sharedApplication]registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound  categories:nil]];    }

(二)當退到后臺時,添加通知

   當退到后臺時,添加通知,可以在AppDelegate.m中的 applicationDidEnterBackground:中實現,在這里調用添加通知的方法

(三)自定義添加通知的方法

  在這里設置通知的內容,并調用通知

  代碼:

-(void)addLocalNotification{        //定義本地通知對象    UILocalNotification *notification=[[UILocalNotification alloc]init];    //設置調用時間    notification.fireDate=[NSDate dateWithTimeIntervalSinceNow:5.0];//通知觸發的時間,10s以后    notification.repeatInterval=2;//通知重復次數            //    NSCalendar *calendar=[NSCalendar currentCalendar];    //    [calendar setTimeZone:[NSTimeZone defaultTimeZone]];    //    notification.repeatCalendar=calendar;//當前日歷,使用前最好設置時區等信息以便能夠自動同步時間        //設置通知屬性    notification.alertBody=@"這是通知主體啊"; //通知主體    notification.applicationIconBadgeNumber=1;//應用程序圖標右上角顯示的消息數    notification.alertAction=@"打開應用"; //待機界面的滑動動作提示    notification.alertLaunchImage=@"Default";//通過點擊通知打開應用時的啟動圖片,這里使用程序啟動圖片    //notification.soundName=UILocalNotificationDefaultSoundName;//收到通知時播放的聲音,默認消息聲音    //notification.soundName=@"msg.caf";//通知聲音(需要真機才能聽到聲音)        //設置用戶信息    notification.userInfo=@{@"id":@1,@"user":@"jredu"};//綁定到通知上的其他附加信息        //調用通知    [[UIApplication sharedApplication] scheduleLocalNotification:notification];}

(四)效果展示

 當程序退到后臺時,通知的效果

 

當鎖屏時,通知的效果

 

(五)點擊通知,可以再次打開應用程序

  這個時候應該修改應用程序的圖標,讓右上角的未讀通知條數重置為0,可以在applicationWillEnterForeground:中實現

  代碼:

-(void)applicationWillEnterForeground:(UIApplication *)application {     [[UIApplication sharedApplication]setApplicationIconBadgeNumber:0];//進入前臺取消應用消息圖標}

 

  想要了解更多內容的小伙伴,可以點擊查看源碼,親自運行測試。

  疑問咨詢或技術交流,請加入官方QQ群:JRedu技術交流 (452379712)

 

作者:杰瑞教育
出處:http://www.companysz.com/jerehedu/ 
本文版權歸煙臺杰瑞教育科技有限公司和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 激情夜色| 亚洲成人在线视频网站 | 国产精品午夜在线 | 欧美精品一区二区久久久 | 一区二区三区欧美在线 | hd极品free性xxx一护士 | 国产成人精品一区在线播放 | 毛片视频免费播放 | 国产亚洲精品久久久久久久软件 | 成人不卡 | 国产九色在线观看 | 91精品国啪老师啪 | 毛片在线免费 | 免费一级毛片免费播放 | 国产免费专区 | 国产一级淫片在线观看 | 蜜桃视频在线观看视频 | 综合97| 精品一区二区三区欧美 | 成年人黄色免费网站 | 国产毛片自拍 | 国产精品久久久久久久久久了 | 天堂亚洲一区 | 久成人 | 一级毛片播放 | 亚洲综合精品成人 | 久久精品一区二区三区四区五区 | 草莓视频在线导航 | 国产精品野外av久久久 | 国产一级91 | 暴力强行进如hdxxx | 成人免费观看49www在线观看 | 毛片免费一区二区三区 | 亚洲人成中文字幕在线观看 | 一级国产航空美女毛片内谢 | 久久精品一区二区三 | 久久福利在线 | 久久久免费 | 久久久99精品视频 | 特级黄色一级毛片 | 亚洲99 |