UILocalNotification一本地通知

2021-06-27 12:47:32 字數 2034 閱讀 3842

在 ios 開發中,經常會使用到通知的功能。而通知又分為本地通知和遠端通知。遠端通知的實現有很多中,可以利用第三方實現。本文主要介紹本地通知的使用,遠端通知會在後面給大家介紹。要實現本地通知的功能很簡單,只需要乙個類就夠了。這個類就是uilocalnotification。通過它就能輕輕鬆鬆實現本地通知的功能。下面直接上**

/**

* 設定本地通知

*/- (void)settingnotication

// 建立本地推送物件

uilocalnotification *notification = [[uilocalnotification alloc] init];

// 設定通知觸發時間

notification.firedate = [nsdate datewithtimeintervalsincenow:5];

// 設定時區(為空則使用預設時區,該屬性值決定了firedate的時間)

notification.timezone = [nstimezone defaulttimezone];

// 設定推送重複間隔時間(這裡設定了一分鐘推送一次通知)

notification.repeatinterval = nscalendarunitminute;

// 設定通知聲音(可以指定乙個聲音檔名,包括副檔名。聲音檔案時長不能超過30秒,超過30秒系統會使用預設的聲音)

notification.soundname = uilocalnotificationdefaultsoundname;

// 設定通知內容(該屬性值為 nil,則通知觸發了也不會有任何提示)

notification.alertbody = @"是時候吃早餐了";

// 設定應用右上角顯示的文字

// 該屬性在 ios8下沒有效果

notification.alertlaunchimage = @"images";

// 在鎖屏情況下,該屬性替換「slide to unlock」 中「unlock」

notification.alertaction = @"去吃早餐";

// 傳遞資料

notification.userinfo = [nsdictionary dictionarywithobjectsandkeys:@"測試通知001",@"notificationid", nil];

// 將通知登記到系統notification處理佇列中(這一步非常重要,沒有這一步,建立出來的通知可以說廢的)

}

執行效果圖

圖一:沒有鎖屏的情況下

圖二:鎖屏情況下

如何處理uilocalnotification?

只需處理物件攜帶的userinfo來處理響應的動作。

// 處理接收到的本地通知

uialertview *alert = [[uialertview alloc] initwithtitle:@"接收到本地提醒p" message:notification.alertbody

delegate:nil cancelbuttontitle:@"確定" otherbuttontitles:nil];

[alert show];

//在這裡你就可以通過notification的useinfo做自己想做的事情

// ..........................

// 取消某個特定的本地通知

nsstring *notiid = noti.userinfo[@"notificationid"];

nsstring *receivenotiid = notification.userinfo[@"notificationid"];

if ([notiid isequaltostring:receivenotiid])

}}總結

iOS推送(一) 本地推送

以ios8.0和ios10.0兩個版本來建立乙個本地推送 void localpush else 推送建立完畢後,那麼我們便要考慮收到推送後會執行什麼樣的操作,這裡主要介紹處理接收到推送的地方。首先我們要先註冊推送通知。8.0和10.0註冊推送還是很不一樣的。8.0系統註冊推送 if uidevic...

歸納筆記024 本地通知

本地通知是乙個uilocalnotification物件,有如下屬性 1 firedate 設定本地通知將在什麼時間觸發。2 repeatinterval 設定本地通知重 送的時間間隔。3 alertbody 設定本地通知的訊息體。4 alertaction 設定當裝置處理鎖屏狀態時,顯示通知在警告...

Git學習筆記(一) 本地Git

如果你是初次使用git,就要把自己的使用者名稱和郵箱告訴git,git據此區分提交 的作者。git config global user.name wen ke git config global user.email 306674698 qq.com 檢視使用者名稱和郵箱 gitconfig gl...