android BLE 断开后连接的问题

我的Bluetooth是对蓝牙遥控器的按钮进行监听,用安卓5.0手机是没有问题的,都是用小米4.4的系统测试的时候,会出现断开之后,再次连接时非常缓慢,点击连接按钮,需要一分钟才能连接上

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
坑爹的Android Ble 问题记录日志

开发Ble(公司项目,防丢器)已经有一段时间,由于是第一次接触Ble而网上资料又不多,且android平台自身的差异性,遇到了很多问题。为了将来方便查阅,在此做下记录。 1.中兴手机,蓝牙手动断开后,无法再次链接问题。(可能别的手机也存在类似问题) 解决办法: 在连接gatt之前,对bluetoothadapter进行一次scan 顺利解决此问题。 2.Gatt链接不稳定(在部分手机上出

Android BLE 开发常见问题总结

本文手机了 截止2016年8月笔者开发BLE以及网络上面的一些BLE开发经验,大家共同学习,共同进步。 这段时间在做低功耗蓝牙 (BLE) 应用的开发(并不涉及蓝牙协议栈)。总体感觉 Android BLE 还是不太稳定,开发起来也是各种痛苦。这里记录一些杂项和开发中遇到的问题及其解决方法,避免大家踩坑。本文说的问题有些没有得到官方文档的验证,不过也有一些论坛帖子的支持,也可以算

android ble 的各种坑

这段时间在做低功耗蓝牙 (BLE) 应用的开发(并不涉及蓝牙协议栈)。总体感觉 Android BLE 还是不太稳定,开发起来也是各种痛苦。这里记录一些杂项和开发中遇到的问题及其解决方法,避免大家踩坑。本文说的问题有些没有得到官方文档的验证,不过也有一些论坛帖子的支持,也可以算是有一定根据。 Android 从 4.3(API Level 18) 开始支持低功耗蓝牙,但是只支持作为中

android 蓝牙断开连接时,APP反应慢的问题

蓝牙断开连接时,APP需要20秒左右的时间,BluetoothAdapter才能反应过来。 解决方案: 让蓝牙模块一直发信号,APP开线程来监听,每过5秒没收到,则判断为断开连接。

小蚂蚁~CC2540 BLE peripheral 主动断开连接

由于BLE的配对绑定在安卓IOS上是有弹窗提示的,因此一些应用上使用很麻烦,例如,在产品中整个蓝牙连接是在后台的,不需要用户去操作,这是后就需要丛机设备来做处理,具体如下: 从机没有配对绑定,没有密码,不限制连接; 连接后增加用户验证,app端发送验证信息,从机做判断,是否满足连接条件,如果不满足就直接断开连接; 具体实现:在蓝牙从机接收回调函数中,增加简单数据处理,即可实现; stati

Android Ble

蓝牙的历史? 1999年5月20日,索尼爱立信、IBM、英特尔、诺基亚及东芝等业界龙头创立蓝牙特别兴趣组(SIG,Special Interest Group),制订蓝牙技术标准。“蓝牙”(Bluetooth)这名称来自10世纪的丹麦国王哈拉尔德(Harald Gormsson)的外号。出身海盗家庭的哈拉尔德统一了北欧四分五裂的国家,成为维京王国的国王。由于他喜欢吃蓝莓,牙齿常常被染成蓝色,

Anroid连接BLE的两个坑

android,ble,蓝牙

BLE开发的各种坑

这段时间在做低功耗蓝牙 (BLE) 应用的开发(并不涉及蓝牙协议栈)。总体感觉 Android BLE 还是不太稳定,开发起来也是各种痛苦。这里记录一些杂项和开发中遇到的问题及其解决方法,避免大家踩坑。本文说的问题有些没有得到官方文档的验证,不过也有一些论坛帖子的支持,也可以算是有一定根据。 Android 从 4.3(API Level 18) 开始支持低功耗蓝牙,但是只支持作为中

android 蓝牙ble连接成功,却收不到数据

AndroidManifest.xml 最小SDK不能小于8

Android ble开发中遇到的问题

1.在工厂中生产了很多设备一起堆放时应用会可能发生ANR,原因是设备很多时会不停的调用onLeScan()方法,在BluetoothAdapter.startLeScan()的时候,在BluetoothAdapter.LeScanCallback.onLeScan()中不能做太多事情。 2.使用 BluetoothDevice.connectGatt()或者 BluetoothGatt.conn

【BLE】CC2541之主从机端主动断开连接

本文以SimpleBLECentral工程和SimpleBLEPeripheral工程为例,介绍主、从机两端如何实现主动断开连接

Android BLE项目中相应的超时处理机制

最近的BLE项目中,需要处理各种超时,做一个小小的总结。1、蓝牙扫描超时处理蓝牙在扫描过程中是非常耗电的,需要在扫描一段时间后自动停止。这时候就可以借助一个Handler对象发送一个延时消息实现,如下://这里是发送一个延时任务 mHandler.postDelayed(new Runnable() { @Override public

Android BLE

Android BLE开发实例,创建-->搜索-->连接-->数据传输-->断开后自动重连

Android ble 连接不上问题

问题: 手机作为ble服务器在发现客户端后主动连接,连接失败。 现象: 在调用bluetoothDevice.connectgatt(BluetoothDevice,autoconnect,BluetoothGattCallback); 后,在BluetoothGattCallback中的onConnectionStateChange(BluetoothGatt gatt , int sta

BLE固件开发--如何获取当前连接状态

在一个 BLE开发项目中,我采用的是TI的CC2541蓝牙BLE SoC,为了防止主从设备连接断开时数据丢失,硬件上加了一个EEPROM,当蓝牙建立连接时,通过Notify发给主机,但当蓝牙连接断开时,采集的数据要存储到EEPROM中(I2C),要实现这一点,需要实时获取蓝牙的连接状态。     在TI的BLE协议栈中,periperal.h中有如下定义:    /** * GAP Peri

关于蓝牙异常断开的问题

在做蓝牙开发的时候,遇到了蓝牙会异常断开的问题。 项目需求的功能是要求连接两个蓝牙ble设备。 一个蓝牙A设备要求的即时性不高, 可以扫描一段时间然后停止扫描一段时间, 但是另外一个蓝牙B设备要求的即时行较高需要系统去不停的扫描 以便在发现设备后能够迅速的做出反应。 就这样在设备连接上其中的A蓝牙后,在扫描B设备时会偶发性的出现蓝牙断开的错误,从log中找到一些记录,如下:  如

IOS BLE后台重连

在苹果的开发中,任何app都有10分钟左右的后台任务执行时间。 10分钟后,app会被iOS强行挂起。 但是,有5类app允许有“无限的”后台运行时间: 1. Audio。 2. Location/GPS。 3. VoIP。 4. Newsstand。 5. Exernal Accessory 。 你可以将任何app声明为上述5种类型以获得无限的后台运

解决华为ble的startscan返回errorcode=2的问题

在使用5.0提供新的ble类时,在startscan之后,在没有stopscan的情况下,再去注册会出现errorcode=2的情况,在这个时候你就把startScan时候的callback,在callback的成功和失败中都调用一次stopsScan(callback),这样就不会再出现这种情况了。errorCode=2,在谷歌文档上是说明无法注册,这个应该是因为之前的startcall中的ca

Android Bluetooth4.0(BLE是Bluetooth Low Energy的简称) 官方API

个人经验分享: 1.官方Android Bluetooth4.0 API主要组成部分:3个Activity做界面展示,1个Service负责蓝牙后台数据传输;分享demo里已实现基本数据的Read+Write,剩下的工作要靠自己去领悟了;加油,俺就是这么白手起家的; 1.附上demo实例,助初学者快速上手入门:http://download.csdn.net/detail/wk10636459

Android蓝牙开发的各种坑

一、对蓝牙设备的操作不能并行,只能串行,即每次都要在收到上一个操作的回调后才能继续下一个操作。但是断开连接例外,断开连接要马上closeGatt,不用等任务队列中的其他操作了。而且要给所有正在执行或者准备执行的任务都cancel。二、有时候蓝牙协议栈出现异常可能收不到回调,所以我们要对每个操作做超时检查,否则后面的所有操作都被阻塞了。三、对于超时的任务,最好closeGatt,下次重新连接的时候重开

【BLE】CC2541之连接时广播

本文以SimpleBLEPeripheral工程为例,介绍实现连接时广播的方法

Android 蓝牙自动连接实现

Android连接蓝牙设备一般有这几个步奏1、注册蓝牙相关的广播 IntentFilter intent = new IntentFilter(); intent.addAction(BluetoothDevice.ACTION_FOUND);// 用BroadcastReceiver来取得搜索结果 intent.addAction(Bluetoot

Android N蓝牙BLE鼠标重连问题总结

Android N取消鼠标功能后重新打开

Android蓝牙BLE之RSSI数据的读写(1)

前段时间,一直在研究关于数据的传递方面的,后来否定了要用这些东西,而只是对于rssi的读写,以及BLE之间距离的判断,故,我把这几天的一些了解给写上,方便以后的,温故知新把,其实也没什么技术含量的东西。 原归正传,获取RSSI 无非就两种方法,一是在扫描回调时读取,二是在BLE连接之后读取,两种方法都比较简单,关键在于对蓝牙BLE的认识。 那我首先就介绍下在 扫描回调时怎么去读。 因

Android 蓝牙4.0连接几次后出现连接不了,搜索不到服务的情况

最近做手机蓝牙与BLE设备的智能项目。遇到一个问题,记录下来。方便以后。 出现的情况是:手机蓝牙与蓝牙设备连接几次,交互信息后,无法再次连接与搜索到服务,需重启手机蓝牙或者关闭APP后,再次启动APP,才能再次连接设备。 上网查找了不少资料。才找资料。非常感谢此博文提供的参考解决方案http://bbs.eeworld.com.cn/thread-438571-1-1.html /*

Android ble蓝牙4.0开发遇到的问题及解决方法

1、蓝牙传送数据报文长的问题 由于ble蓝牙一次只能发送20字节报文,如果需要超过20字节的报文,就需要采用分包机制分两包或多包收发。 2、开发中出现app端同时向蓝牙服务端设备发送多个接口请求的问题 由于问题1的需求,多包请求报文导致同时调用多个接口时,蓝牙服务端收到多接口调用报文穿插的情况。而android设备底层没有实现蓝牙报文的同步机制,故而需要

安卓蓝牙开发的一些经验和教训

目前有很多人开始进行低功耗蓝牙BLE进行开发,BLE主要应用于可穿戴设备,这个可以查标准协议,就不多说了。     还有一种情况是用BLE实现类似传统蓝牙SPP功能。其实,我个人是不建议用这种方法的,毕竟BLE只是适合于小数据、低频度读取,这样才能做到低功耗。BLE实现SPP功能,还有一个重要原因,是苹果支持SPP需要授权,而BLE不需要授权。       苹果iPhone4s和Android

Android蓝牙Ble开发之获取心率

最近在研究Android的蓝牙Ble的开发,由于是低功耗蓝牙,以前没有接触过,看过好多博客,大多数都差不多,不过个人有一点心得关于蓝牙获取心率的。 首先就是权限问题了,在AndroidMainfest清单文件中添加一下权限: 这次研究开发的是mio的心率手表所以如果没有设备的大家仅供参考: 1、首先 判断当前设备是否支持ble: /**          * 判断当前设备是否支持

连接多个BLE设备(Android)

用于连接多个BLE设备的小Demo,不过只有收数据的功能,没有发数据的功能。注意:请用Android studio打开

nrf51822 --- 从机主动断开蓝牙连接

1.目的    从机主动断开蓝牙连接 2.分析   实际应用当中,时常需要需从机主动断开蓝牙,防止不明主机连接的情况 3.平台: 协议栈版本:SDK10.0.0 编译软件:keil 5.14 硬件平台:nrf51822最小系统 例子:SDK 10.0.0\examples\ble_peripheral\ble_app_uart\pca10028\s110

Android退到后台后蓝牙连接速度变慢原因

是因为安卓5.0对其唤醒功能,以及安卓6.0的Doze嗜睡模式造成的. 对其唤醒就是一堆app隔一段时间同时唤醒而不是每个都唤醒. 嗜睡模式中,系统会延缓应用的任务,同步,和标准alarm.插上电源,点亮屏幕的时候就会回到正常模式

蓝牙连接断开超时时间设置

背景:WINCE6.0平台开发的机器和蓝牙设备连接,如果蓝牙设备主动断开连接,机器端20s才能检测到,时间太长,是否可以修改 调查:http://affon.narod.ru/BT/bluetooth_app_c10.pdf Write Link_Supervision_Timeout章节讲到HCI_Write_Link_Supervision_Timeout命令可以修改连接监控超时时间。 H

android4.4以上版本蓝牙连接问题

在android4.0版本上开发的基于蓝牙的APP移植到android4.4设备上,蓝牙无法连接,但是调试模式发现蓝牙连接正常。 使用的连接方法如下: mmSocket=device.createRfcommSocketToServiceRecord(uuid); mmSocket.connect(); android4.4上升级了蓝牙协议栈,怀疑因此导致此问题,解决方法是在mmS

低功耗蓝牙BLE之连接事件、连接参数和更新方法

在一个连接当中,主设备会在每个连接事件里向从设备发送数据包

Android 蓝牙开发(九)A2DP基本功能

本文主要是Android做为Audio Source端,A2DP的基本操作:包括连接、断开连接、设置优先级、获取优先级、获取A2DP连接状态、

Android 低功耗蓝牙(BLE)开发(4)-- 蓝牙扫描和连接

在了解了API里面的常用类和方法后,现在来看蓝牙打开和扫描的实现蓝牙扫描实现的基本步骤如下:1.添加权限 2.判断设备是否支持BLE 3.判断蓝牙是否开启,如果未开启,则弹出开启窗口 4.开启后,开始进行蓝牙扫描 5.通过BluetoothAdapter.LeScanCallback获取扫描结果下面具体来实现蓝牙的扫描过程1.权限的添加在AndroidMani

IOS蓝牙主动断开外设的问题

最近有一些人在问蓝牙主动断开外设的问题,例如连接了第一个外设,希望在连接第二个外设的时候释放了第一个外设,可是弄了主动断开却发现第一个外设并没有断开,解决问题的方法呢其实很简单,首先你得抓到外设的UUID,然后弄个代理传值,把UUID获取值传回去主界面,然后再次到扫描蓝牙的界面的时候,把这个值传过来进行判断,如果连接第二个外设那么UUID的值是不一样的,那这个时候你就可以写一个判断,判断你的蓝牙是

手把手教你Android手机与BLE终端通信--连接,发送和接收数据

如果你还没有看上一篇 手把手教你Android手机与BLE终端通信--搜索,你就先看看吧,因为这一篇要接着讲搜索到蓝牙后的连接,和连接后的发送和接收数据。     我的基本思想就是所有蓝牙操作都写在BluetoothController中,他有消息要发送时发送到BLEService中,service再发广播提示MainActivity更新页面。好了,切入正题。。     1,连接     首

android 蓝牙ble app开发(二) -- 关键概念,连接参数,连接请求

android  蓝牙ble app开发中 经常会遇到很多问题,这个时候就需要用到抓包软件进行分析,单单从现象上很难鉴定是设备固件端的问题,还是我们自己app写的不对的问题。这一点是做android的是比较纠结的,因为固件端经常是和ios通信没毛问题,android问题偶尔,这个偶尔很经常出现。 这篇记录的内容是android app开发时遇到的,但是本身的内容却是ble协议的一些内容,ios

BLE-NRF51822教程14-连接时触发配对

最近答疑碰到几次都提到 需要实现手机每次连接上设备后,立刻出发配对并要求输入密钥的功能。 这里就单独写一个教程供大家参考下。 配对的目的是为了对链路进行加密。以提高蓝牙的传输安全。 关于配对的一些相关知识在 静态密码/动态随机密码教程中有一些介绍。对于使用来说,理解一下配对相关流程就行了。 这里额外说个问道比较多的配对和绑定区别的问题: 关于配对和绑

Android蓝牙4.0 关闭蓝牙重开无法根据地址连接问题

在蓝牙项目的末尾,在个别手机上出来,手动关闭手机蓝牙,和再次启动,打开app发现无法连接上,经过查看log最后确定错误是: onClientConnectionState() - status=133 clientIf=5 device=地址 133的一个错误,前面试过很多的查阅,网上解决办法是由于你该设备连接的mBluetoothGatt没有去close和disconnect,后面反复

[Bluetooth]: android 平台上BLE连接流程之优化方案

文章提供了一种设计良好的蓝牙连接(重连)的流程逻辑,可以极大的提高Android平台上蓝牙设备的连接成功率。

关于android蓝牙开发的一些总结

最近三个月一直在忙着公司的一个产品。这个产品主要是蓝牙和单片机之间的数据交换。当时在选择通讯方式的时候有2种选择。一种是wifi,另外一种就是后来选择的蓝牙。期间遇到了很多问题,包括蓝牙连接问题啊,android版本问题,bluesocket连接问题等等。    1、android蓝牙连接配对问题:首先搜索了蓝牙,适配器搜索蓝牙设备后将结果以广播形式传出去,所以自定义一个继承广播的类,在onRe

android监听蓝牙设备的连接状态

通过系统广播监听蓝牙设备的连接状态,当蓝牙搜索发现设备时提示对应的蓝牙设备已发现,当蓝牙设备连接或断开显示蓝牙设备连接或断开。

android ble 中使用connectGatt()进行连接,没有进入onConnectionStateChange()回调函数

最近在学习蓝牙 4.0,看了一下与android ble有关的api,在android手机上写了个小程序,与TI CC2540进行通信,扫描到设备之后进行连接,然后传输数据,传输完毕之后断开连接再进行扫描。大概传输7、8次数据之后,手机端再使用connectGatt()进行连接时,无法进入onConnectionStateChange()回调函数,数据接收无法继续,程序好像是死在这了。但是前面几次

蓝牙连接【CONNECTION MODES,PROCEDURES】【从机请求更新连接参数】【断开连接原因HCI ERROR】【CONNECTION REQUEST】【连接过程】【跳频公式及过程】

SYD8801是一款低功耗高性能蓝牙低功耗SOC,集成了高性能2.4GHz射频收发机、32位ARM Cortex-M0处理器、128kB Flash存储器、以及丰富的数字接口。SYD8801片上集成了Balun无需阻抗匹配网络、高效率DCDC降压转换器,适合用于可穿戴、物联网设备等。具体可咨询:http://www.syd-tek.com/ CONNECTION MODES AND PROC

android ble 某些手机连接不上,又不知道什么原因,填坑吧

转载来自[原博客地址](http://blog.csdn.net/qingtiantianqing/article/details/52459629?locationNum=13) onServicesDiscovered 回调里不能直接执行 write /readDataFromCharacteristic() 或者 enableNotificationOfCharacterist

nrf51822 --- 主机主动断开蓝牙

nrf51822 主机主动断开蓝牙

nginx反向代理配置websocket,以及配置后websocket连接后立即断开的解决方法

用proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";配置nginx使之支持websockt的反响代理后,发现websockt连接上就立即断开了最后查到原因是proxy_read_timeout 太小,这便是websockt的有效时间现在配置成3600,也就是维持一个小时,来解决需求。成功,测试中...

问题:解决Android中socket自动断开连接

连接上蓝牙模块后,能够正常读数,蓝牙数据发送速率为0.03s每个。大概在发送了342个数据之后,突然接收不到数据了。

相关热词 c#对文件改写权限 c#中tostring c#支付宝回掉 c#转换成数字 c#判断除法是否有模 c# 横向chart c#控件选择多个 c#报表如何锁定表头 c#分级显示数据 c# 不区分大小写替换
立即提问
相关内容推荐