iOS BLE的后臺數(shù)據(jù)接收和本地通知處理

最近在開發(fā)BLE交互的App時,往往出現(xiàn)這樣的場景硫朦,設(shè)備狀態(tài)發(fā)生改變,App可能處于后臺模式背镇,這個時候就要通過本地通知將狀態(tài)提示給用戶咬展。場景的處理過程如下。

1.設(shè)置后臺數(shù)據(jù)交互

首先芽世,我們需要使App能夠在后臺接受到數(shù)據(jù)挚赊,在項(xiàng)目的info.plist文件中,新建一行Required background modes济瓢,然后在這一行下加入App shares data using CoreBluetoothApp communicates using CoreBluetooth兩項(xiàng)荠割。

info.plist示例圖:
infoplist示例.png

2.注冊本地通知

通知的注冊應(yīng)該寫在AppDelegate中,為了方便管理旺矾,可以寫一個AppDelegate的分類蔑鹦。

在iOS10之后,蘋果將通知相關(guān)的API統(tǒng)一箕宙,我們應(yīng)該使用UserNotifications.framework來集中管理和使用 iOS 系統(tǒng)中的通知功能嚎朽。

所以首先我們要#import <UserNotifications/UserNotifications.h>

然后注冊通知的相關(guān)代碼如下:

   //注冊通知
    UNUserNotificationCenter *localNotiCenter = [UNUserNotificationCenter currentNotificationCenter];
    localNotiCenter.delegate = self;
    [localNotiCenter requestAuthorizationWithOptions:(UNAuthorizationOptionBadge | UNAuthorizationOptionSound | UNAuthorizationOptionAlert) completionHandler:^(BOOL granted, NSError * _Nullable error) {
        if (granted) {
            NSLog(@"request authorization successed!");
        }
    }];
    
    //iOS10之后柬帕, apple 開放了可以直接獲取用戶的通知設(shè)定信息的API哟忍。
    [localNotiCenter getNotificationSettingsWithCompletionHandler:^(UNNotificationSettings * _Nonnull settings) {
        NSLog(@"%@",settings);
    }];

3.創(chuàng)建本地推送

在接受到設(shè)備發(fā)來的數(shù)據(jù)后,我們要創(chuàng)建本地通知陷寝。
創(chuàng)建通知的代碼如下:

- (void)creatLocalNotificationWithTitle:(NSString *)title WithBody:(NSString *)body {
    UNMutableNotificationContent *notiContent = [[UNMutableNotificationContent alloc] init];
    notiContent.title = title;
    notiContent.body = body;
    notiContent.badge = @1;
    notiContent.sound = [UNNotificationSound defaultSound];
    
    UNTimeIntervalNotificationTrigger *trigger1 = [UNTimeIntervalNotificationTrigger triggerWithTimeInterval:3 repeats:NO];
    
    UNNotificationRequest *request = [UNNotificationRequest requestWithIdentifier:requertIdentifier content:notiContent trigger:trigger1];
    [[UNUserNotificationCenter currentNotificationCenter] addNotificationRequest:request withCompletionHandler:^(NSError * _Nullable error) {
        NSLog(@"Error:%@",error);
    }];
}

以上锅很,基本完成了從接受數(shù)據(jù)到本地通知的處理。

4.備注

  • AppDelegate- (void)applicationWillEnterForeground:(UIApplication *)application- (void)applicationWillEnterForeground:(UIApplication *)application方法中添加[application setApplicationIconBadgeNumber:0];將通知產(chǎn)生的App圖標(biāo)上的標(biāo)記去掉凤跑。

  • iOS中通知的詳細(xì)剖析文章爆安,請參見活久見的重構(gòu) - iOS 10 UserNotifications 框架解析

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末仔引,一起剝皮案震驚了整個濱河市扔仓,隨后出現(xiàn)的幾起案子褐奥,更是在濱河造成了極大的恐慌,老刑警劉巖翘簇,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件撬码,死亡現(xiàn)場離奇詭異,居然都是意外死亡缘揪,警方通過查閱死者的電腦和手機(jī)耍群,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進(jìn)店門义桂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來找筝,“玉大人,你說我怎么就攤上這事慷吊⌒湓#” “怎么了?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵溉瓶,是天一觀的道長急鳄。 經(jīng)常有香客問我,道長堰酿,這世上最難降的妖魔是什么疾宏? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮触创,結(jié)果婚禮上坎藐,老公的妹妹穿的比我還像新娘。我一直安慰自己哼绑,他們只是感情好岩馍,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著抖韩,像睡著了一般蛀恩。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上茂浮,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天双谆,我揣著相機(jī)與錄音,去河邊找鬼席揽。 笑死顽馋,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的驹尼。 我是一名探鬼主播趣避,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼新翎!你這毒婦竟也來了程帕?” 一聲冷哼從身側(cè)響起住练,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎愁拭,沒想到半個月后讲逛,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡岭埠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年盏混,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片惜论。...
    茶點(diǎn)故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡许赃,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出馆类,到底是詐尸還是另有隱情混聊,我是刑警寧澤,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布乾巧,位于F島的核電站句喜,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏沟于。R本人自食惡果不足惜咳胃,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望旷太。 院中可真熱鬧展懈,春花似錦、人聲如沸泳秀。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽嗜傅。三九已至金句,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間吕嘀,已是汗流浹背违寞。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留偶房,地道東北人趁曼。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像棕洋,于是被迫代替她去往敵國和親挡闰。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 概述 在多數(shù)移動應(yīng)用中任何時候都只能有一個應(yīng)用程序處于活躍狀態(tài),如果其他應(yīng)用此刻發(fā)生了一些用戶感興趣的那么通過通知...
    莫離_焱閱讀 6,498評論 1 8
  • 極光推送: 1.JPush當(dāng)前版本是1.8.2摄悯,其SDK的開發(fā)除了正常的功能完善和擴(kuò)展外也緊隨蘋果官方的步伐赞季,SD...
    Isspace閱讀 6,701評論 10 16
  • -Begin to cook- 黑芝麻餅干 用料 蛋白 2個 細(xì)砂糖 15克 低筋面粉 30克 玉米油 40克 黑...
    河州生活圈閱讀 530評論 0 0
  • 薔薇開放 成就著古老的墻 精致美雅的花兒 是謹(jǐn)慎的內(nèi)斂 少婦折下一朵 別上微卷的長發(fā) 年長的女人愛上沉默 把它們 ...
    忘記結(jié)冰閱讀 107評論 1 3
  • 陳宗杰 山東恒泰紡織有限公司 六項(xiàng)精進(jìn)第203期學(xué)員 日精進(jìn)打卡第2日 【知~學(xué)習(xí)】努力學(xué)習(xí)申钩,使自己成長 讀《...
    C人在旅途閱讀 164評論 0 0