日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

      歡迎訪問 生活随笔!

      生活随笔

      當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

      编程问答

      iOS开发- 蓝牙后台接收数据(BLE4.0)

      發布時間:2023/12/13 编程问答 24 豆豆
      生活随笔 收集整理的這篇文章主要介紹了 iOS开发- 蓝牙后台接收数据(BLE4.0) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

      最近在做一個藍牙相關的項目, 需要在應用進入后臺, 或者手機屬于鎖屏狀態的情況下, 仍然保持藍牙連接, 并且能正常接收數據。

      本來以后會很麻煩, 但是學習了下..發現就2步而已。簡單的不能再簡單了。


      好了。下面是具體實現辦法。


      1.在xxx-info.plist文件中, 新建一行 ?Required background modes?, 加入下面兩項。

      App shares data using CoreBluetooth?和?App communicates using CoreBluetooth

      如圖所示:



      加入這個項后, 你會發現, 當應用進入后臺后, 藍牙還是保持連接的。

      但是, 進入后臺后, 雖然應用還掛著, 能夠正常接收數據。但是, ?來數據了, 如果需要我們實時響應, 那就要用到推送了。

      也就是, 當數據來的時候, 彈出一個提示框, 提示用戶來數據了。


      2. 設置本地推送

      這里的方法寫在AppDelegate.m中。 ?receiveData對應你接收到數據的響應函數。

      [cpp]?view plaincopy
    1. -(void)receiveData:(NSData*)data??
    2. {??
    3. ????NSLog(@"收到數據了");??
    4. ??????
    5. ????//收到數據,?設置推送??
    6. ????UILocalNotification?*noti?=?[[UILocalNotification?alloc]?init];??
    7. ????if?(noti)??
    8. ????{??
    9. ????????//設置時區??
    10. ????????noti.timeZone?=?[NSTimeZone?defaultTimeZone];??
    11. ????????//設置重復間隔??
    12. ????????noti.repeatInterval?=?NSWeekCalendarUnit;??
    13. ????????//推送聲音??
    14. ????????noti.soundName?=?UILocalNotificationDefaultSoundName;??
    15. ????????//內容??
    16. ????????noti.alertBody?=?@"接收到數據了";??
    17. ????????noti.alertAction?=?@"打開";??
    18. ????????//顯示在icon上的紅色圈中的數子??
    19. ????????noti.applicationIconBadgeNumber?=?1;??
    20. ????????//設置userinfo?方便在之后需要撤銷的時候使用??
    21. ????????NSDictionary?*infoDic?=?[NSDictionary?dictionaryWithObject:@"name"?forKey:@"key"];??
    22. ????????noti.userInfo?=?infoDic;??
    23. ????????//添加推送到uiapplication??
    24. ????????UIApplication?*app?=?[UIApplication?sharedApplication];??
    25. ????????[app?scheduleLocalNotification:noti];??
    26. ????}??
    27. }??

    28. [cpp]?view plaincopy
    29. #pragma?mark?-?接收到推送??
    30. -?(void)application:(UIApplication?*)application?didReceiveLocalNotification:(UILocalNotification*)notification??
    31. {??
    32. ????UIAlertView?*alert?=?[[UIAlertView?alloc]?initWithTitle:@"來電提示"??
    33. ????????????????????????????????????????????????????message:notification.alertBody??
    34. ???????????????????????????????????????????????????delegate:nil??
    35. ??????????????????????????????????????????cancelButtonTitle:@"接聽"??
    36. ??????????????????????????????????????????otherButtonTitles:@"掛斷",nil];??
    37. ????[alert?show];??
    38. ????//這里,你就可以通過notification的useinfo,干一些你想做的事情了??
    39. ????application.applicationIconBadgeNumber?-=?1;??
    40. }?
    41. 轉載于:https://www.cnblogs.com/AlvinCrash/p/5379458.html

      總結

      以上是生活随笔為你收集整理的iOS开发- 蓝牙后台接收数据(BLE4.0)的全部內容,希望文章能夠幫你解決所遇到的問題。

      如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。