iOS开发- 蓝牙后台接收数据(BLE4.0)
最近在做一个蓝牙相关的项目, 需要在应用进入后台, 或者手机属于锁屏状态的情况下, 仍然保持蓝牙连接, 并且能正常接收数据。
本来以后会很麻烦, 但是学习了下..发现就2步而已。简单的不能再简单了。
好了。下面是具体实现办法。
1.在xxx-info.plist文件中, 新建一行 Required background
modes , 加入下面两项。
App shares data using CoreBluetooth 和 App
communicates using CoreBluetooth
如图所示:
加入这个项后, 你会发现, 当应用进入后台后, 蓝牙还是保持连接的。
但是, 进入后台后, 虽然应用还挂着, 能够正常接收数据。但是, 来数据了, 如果需要我们实时响应, 那就要用到推送了。
也就是, 当数据来的时候, 弹出一个提示框, 提示用户来数据了。
2. 设置本地推送
这里的方法写在AppDelegate.m中。 receiveData对应你接收到数据的响应函数。
- -(void)receiveData:(NSData*)data
- {
- NSLog(@"收到数据了");
- //收到数据, 设置推送
- UILocalNotification *noti = [[UILocalNotification alloc] init];
- if (noti)
- {
- //设置时区
- noti.timeZone = [NSTimeZone defaultTimeZone];
- //设置重复间隔
- noti.repeatInterval = NSWeekCalendarUnit;
- //推送声音
- noti.soundName = UILocalNotificationDefaultSoundName;
- //内容
- noti.alertBody = @"接收到数据了";
- noti.alertAction = @"打开";
- //显示在icon上的红色圈中的数子
- noti.applicationIconBadgeNumber = 1;
- //设置userinfo 方便在之后需要撤销的时候使用
- NSDictionary *infoDic = [NSDictionary dictionaryWithObject:@"name" forKey:@"key"];
- noti.userInfo = infoDic;
- //添加推送到uiapplication
- UIApplication *app = [UIApplication sharedApplication];
- [app scheduleLocalNotification:noti];
- }
- }
- #pragma mark - 接收到推送
- - (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification*)notification
- {
- UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"来电提示"
- message:notification.alertBody
- delegate:nil
- cancelButtonTitle:@"接听"
- otherButtonTitles:@"挂断",nil];
- [alert show];
- //这里,你就可以通过notification的useinfo,干一些你想做的事情了
- application.applicationIconBadgeNumber -= 1;
- }
iOS开发- 蓝牙后台接收数据(BLE4.0)的更多相关文章
- ios开发视频播放后台下载功能实现 :1,ios播放视频 ,包含基于AVPlayer播放器,2,实现下载,iOS后台下载(多任务同时下载,单任务下载,下载进度,下载百分比,文件大小,下载状态)(真机调试功能正常)
ABBPlayerKit ios开发视频播放后台下载功能实现 : 代码下载地址:https://github.com/niexiaobo/ABBPlayerKit github资料学习和下载地址:ht ...
- iOS开发网络篇—JSON数据的解析
iOS开发网络篇—JSON数据的解析 iOS开发网络篇—JSON介绍 一.什么是JSON JSON是一种轻量级的数据格式,一般用于数据交互 服务器返回给客户端的数据,一般都是JSON格式或者XML格式 ...
- 玩转iOS开发 - JSON 和 Xml 数据解析
前言 Json 和xml是网络开发中经常使用的数据格式,JSON轻量级.xml相对较复杂.所以如今用JSON的比例很大.基本上从server获取的返回数据都是JSON格式的,作为iOS开发人员,解析J ...
- iOS开发:后台运行以及保持程序在后台长时间运行
第一部分 1.先说说iOS 应用程序5个状态: 停止运行-应用程序已经终止,或者还未启动. 不活动-应用程序处于前台但不再接收事件(例如,用户在app处于活动时锁住了设备). 活动-app处于“使用中 ...
- iOS开发网络篇—XML数据的解析
iOS开发网络篇—XML数据的解析 iOS开发网络篇—XML介绍 一.XML简单介绍 XML:全称是Extensible Markup Language,译作“可扩展标记语言” 跟JSON一样,也是 ...
- android蓝牙(二)——接收数据
在蓝牙开发中,我们有这种一个需求:我们的androidclient要始终保持和蓝牙的连接,当蓝牙有数据返回的时候,androidclient就要及时的收取数据,当蓝牙没有数据返回的时候我们就要保持an ...
- iOS开发蓝牙 蓝牙4.0的各种踩过的坑,希望你们少踩点
1.首先建立这个三个参数 @property (nonatomic,strong)CBCentralManager * manager; @property (nonatomic,strong)CBP ...
- iOS开发简单高效的数据存储
在iOS开发过程中,不管是做什么应用,都会碰到数据保存的问题,你是用什么方法来持久保存数据的?这是在几乎每一次关于iOS技术的交流或讨论都会被提到的问题,而且大家对这个问题的热情持续高涨.本文主要从概 ...
- IOS开发之后台处理
1 前言IOS4 之后提供了后台处理,在后台运行应用程序,在一些情形下甚至可以在用户按下Home按钮之后在后台运行. 2 详述IOS可以在用户按下Home按钮后将应用程序添加到暂停状态.这种暂停执行的 ...
随机推荐
- MySQL 部分函数使用
1.DATE_ADD 参考博客:MySQL日期时间函数大全 转 例:DATE_ADD(date,INTERVAL expr type) 2.日期转字符串 DATE_FORMAT 参考博客:MYSQL中 ...
- C# --通过枚举获取系统颜色
public static System.Drawing.Color GetSystemColor(int i) { Array Colors = System.Enum.GetValues(type ...
- javaScript常用工具库
对应于百度前端技术学院2015年春季的课程2相关内容 https://github.com/baidu-ife/ife/tree/master/2015_spring/task/task0002 ht ...
- Java NIO学习(一)
Java NIO 由以下几个核心部分组成: Channels Buffers Selectors 虽然Java NIO 中除此之外还有很多类和组件,但在我看来,Channel,Buffer 和 Sel ...
- @perproty and @synthesize
.@property 是什么? @perperty 是声明属性的语法,他可以快速方便的为实例变量创建存取器,并允许我们通过点语法使用存取器 [存取器:用于获取和设置实例变量的方法,获取实例变量值得是g ...
- Uva 11538 - Chess Queen
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...
- csuoj 1111: 三家人
acm.csu.edu.cn/OnlineJudge/problem.php?id=1111 1111: 三家人 Time Limit: 1 Sec Memory Limit: 128 MBSubm ...
- [转]史上最全的MSSQL复习笔记
阅读目录 1.什么是SQL语句 2.使用sql语句创建数据库和表 3.创建数据表 4.数据完整性约束 5.四中基本字符类型说明 6.SQL基本语句 7.类型转换函数 8.日期函数 9.数学函数 10. ...
- HDU 4900 NO ACM NO LIFE(概率+枚举+搜索)(2014 Multi-University Training Contest 4)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4900 Problem Description There is an old country and ...
- PHP V5.2 中的新增功能,第 1 部分: 使用新的内存管理器
PHP V5.2:开始 2006 年 11 月发布了 PHP V5.2,它包括许多新增功能和错误修正.它废止了 5.1 版并被推荐给所有 PHP V5 用户进行升级.我最喜欢的实验室环境 —— Win ...
