最近在做一个蓝牙相关的项目, 需要在应用进入后台, 或者手机属于锁屏状态的情况下, 仍然保持蓝牙连接, 并且能正常接收数据。

本来以后会很麻烦, 但是学习了下..发现就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. UILocalNotification *noti = [[UILocalNotification alloc] init];
  6. if (noti)
  7. {
  8. //设置时区
  9. noti.timeZone = [NSTimeZone defaultTimeZone];
  10. //设置重复间隔
  11. noti.repeatInterval = NSWeekCalendarUnit;
  12. //推送声音
  13. noti.soundName = UILocalNotificationDefaultSoundName;
  14. //内容
  15. noti.alertBody = @"接收到数据了";
  16. noti.alertAction = @"打开";
  17. //显示在icon上的红色圈中的数子
  18. noti.applicationIconBadgeNumber = 1;
  19. //设置userinfo 方便在之后需要撤销的时候使用
  20. NSDictionary *infoDic = [NSDictionary dictionaryWithObject:@"name" forKey:@"key"];
  21. noti.userInfo = infoDic;
  22. //添加推送到uiapplication
  23. UIApplication *app = [UIApplication sharedApplication];
  24. [app scheduleLocalNotification:noti];
  25. }
  26. }
[cpp] view plaincopy
  1. #pragma mark - 接收到推送
  2. - (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification*)notification
  3. {
  4. UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"来电提示"
  5. message:notification.alertBody
  6. delegate:nil
  7. cancelButtonTitle:@"接听"
  8. otherButtonTitles:@"挂断",nil];
  9. [alert show];
  10. //这里,你就可以通过notification的useinfo,干一些你想做的事情了
  11. application.applicationIconBadgeNumber -= 1;
  12. }

转载于:https://www.cnblogs.com/AlvinCrash/p/5379458.html

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

  1. IOS开发-蓝牙实战项目-汪亮-专题视频课程

    IOS开发-蓝牙实战项目-4475人已学习 课程介绍         该视频面向有一定开发经验的IOS开发人员,视频主要通过实际上线项目,讲解蓝牙的搜索,连接,手机发送数据,手机接收数据,并处理返回的 ...

  2. iOS开发 蓝牙技术4.0详解

    前言 前端时间,同学在做项目过程中遇到关于蓝牙方面的问题,今天我就给大家进行详细的进行讲解下蓝牙在iOS开发中的具体实现.在介绍蓝牙前,大家要搞清楚什么是蓝牙? 什么是蓝牙? 随着蓝牙低功耗技术BLE ...

  3. 苹果iOS开发系列--详解Swift 3.0语言的重大变化

    概述 从写第一篇Swift文章的时候到现在Swift已经从1.2发展到了今天的3.0,这期间由于Swift目前还在发展阶段并不能向下兼容,因此第一篇文章中的部分代码在当前的Xcode环境中已经无法运行 ...

  4. 蓝牙APP接收数据并显示图像

    最近在项目中需要用到手机APP接收单片机通过蓝牙发送的数据,并显示数据的图像.所幸就自己写了一个. 利用App Inventor可以快捷方便的实现该功能. 组件设计如下: 逻辑设计如下: APP效果展 ...

  5. 【iOS官方文档翻译】iOS的蓝牙连接、数据接收及发送

    说明:苹果官方开发文档中涉及一些名词:Central(中心设备).Peripheral(外围设备).advertising(广告).Services(服务).Characteristic(特征)等,请 ...

  6. iOS开发蓝牙 蓝牙4.0的各种踩过的坑,希望你们少踩点

    1.首先建立这个三个参数 @property (nonatomic,strong)CBCentralManager * manager; @property (nonatomic,strong)CBP ...

  7. iOS开发简单高效的数据存储

    在iOS开发过程中,不管是做什么应用,都会碰到数据保存的问题,你是用什么方法来持久保存数据的?这是在几乎每一次关于iOS技术的交流或讨论都会被提到的问题,而且大家对这个问题的热情持续高涨.本文主要从概 ...

  8. iOS开发 -- 蓝牙版本

    一.蓝牙4.0 (2010年6月30日发布) 速度:支持1Mbps数据传输率下的超短数据包,最少8个八位组(字节?),最多27个(字节?).所有连接都使用蓝牙2.1加入的减速呼吸模式(sniff su ...

  9. c#读蓝牙数据_c#蓝牙通信接收数据

    带你读<从实践中学习TCP/IP协议>之一:网络概述 信息安全技术大讲堂点击查看第二章点击查看第三章从实践中学习TCP/IP协议 大学霸IT达人 编著第1章 网 络 概 述 计算机网络是通 ...

最新文章

  1. Oracle CRS的管理与维护
  2. mysql查询每个表的描述_MS SQL SERVER 读取数据库中每个表的描述/注释以及表中字段/列的字段名,字段类型,字段描述/注释/说明等信息...
  3. Fence Repair POJ - 3253
  4. 如何用 J-Link 来串口调试?
  5. android中给TextView或者Button的文字添加阴影效果
  6. Struts2源码学习(一)——Struts2中的XWork容器
  7. 【mysql】Filesort on too many rows解决方法
  8. 线性代数及其应用(第三版)5.1节习题解答
  9. 判断素数的4种方法(C语言)
  10. 大学英语精读第三版(第四册)复习笔记——文章内容摘要
  11. 买房? 上区块链, 安排! 全国首张不动产区块链电子凭证诞生
  12. 计算机之父图灵的 150 封信,多在讨论 AI
  13. 【嵌入式系统】STM32时钟系统+时钟配置函数解析
  14. vue项目设置ip访问
  15. 函数周期表丨筛选丨值丨CALCULATE
  16. hive 元数据 解释
  17. <stm32学习笔记>--基本定时器TIM6TIM7
  18. 【期末考试】计算机组成原理突击复习
  19. python实现12306全自动抢票
  20. linux+parted+4k对齐,Centos 磁盘4K对齐脚本 | 聂扬帆博客

热门文章

  1. 高通驱动9008安装_高通snapdragon888的性能有多强大
  2. 深度学习之卷积神经网络(1)什么是卷积
  3. springboot2.x 与 elasticsearch2.4.x整合出错:None of the configured nodes are available
  4. S3C2440 汇编指令
  5. python学习: 优秀Python学习资源收集汇总--转
  6. 您应该如何改变数据科学教育
  7. alexnet 结构_AlexNet的体系结构和实现
  8. netflix 开源_Netflix的Polynote是一个新的开源框架,可用来构建更好的数据科学笔记本
  9. 因为犯罪被判三年刑,期间没办法还信用卡,银行会怎么做?
  10. 同盟与对抗:谈《少女杜拉的故事》中的治疗关系(转)