android 蓝牙4.0 onCharacteristicChanged无回调

![图片说明

](https://img-ask.csdn.net/upload/201701/21/1484986987_979654.png)

为什么我的onCharacteristicChanged就是无回调信息,是有哪些设置没做吗
我的代码用别的设备完全没有问题,就是用到现在的设备上就没有回调信息(UUID都有设置正确)
现在的设置在NRF上测试又没有问题
求解答

0

1个回答

补上nrf测试工具的打印信息

图片说明

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Android 蓝牙BLE 中onCharacteristicChanged不走回调的解决方案
做个小笔记,具体有关Android 蓝牙Ble的问题请看下面两篇文章,写的很实用 Android BLE开发——Android手机与BLE终端通信初识 Android 蓝牙开发(二)Ble 开发(android4.3) 最近在做一个智能硬件的项目,遇到一个问题浪费了我三天时间,所以决定把它记录下来。我访问各大论坛没有一个明确的答案,所以我只能错误和尝试,终于是把这个问题解决了。 具体解决步骤
Android BLE 中心和外设通信时 中心设备的onCharacteristicChanged() 没有回调
今天为实现中心设备可以从外设中读取大数据的功能,想到一种方法,但是遇到了onCharacteristicChanged()一直收不到回调的问题:
Android BLE 回调onCharacteristicWrite 时 返回的status 偶尔是失败的原因
首先,只有setType是writeWithResponse的时候,才会触发onCharacteristicWrite回调,这是GATT协议层的响应机制。writeWithoutResponse由于不需要外设端在GATT层以上做响应,所以是不会触发这个回调的。根据BLE协议,射频链路层的重发机制对于ATT层和GATT层都是黑盒。链路层的重试机制一定会保证数...
Android蓝牙4.0BLE通讯读写数据更新
项目需求:app和蓝牙通讯,并且能接收到硬件按键通过蓝牙发送来的消息,app做对应操作,有点类似于蓝牙耳机接听,挂断。 蓝牙开发以前接触的少,经典蓝牙开发做过android bt,BLE做的少,所以一直不太懂,最近项目又用到BLE蓝牙,所以把项目的一些代码简单整理下,主要是蓝牙连接,读写数据,蓝牙消息监听。蓝牙搜索的代码我这里就不写了,大家可以自己百度下。 为了能监测到app和蓝牙一直连接,并且
Android蓝牙BLE4.0踩过的坑
一直都负责项目的蓝牙模块,期间踩过很多坑,说出来跟大家分享一下。 1. 从简单的开始,首先是权限的问题,在Android6.0以上,部分机型需要开启定位权限,部分机型需要同时开启GPS。所以使用蓝牙之前,你可以动态申请定位权限,或者直接将targetSdkVersion设置为23以下。 2. 蓝牙刚开启的时候,建议间隔1s后再进行搜索,有些机型初始化很慢,会搜索不到设备。 3. 始终无法搜索...
蓝牙扫描 LeScanCallback 方法 不回调
问题设备: 华为 p9 Plus    Android 版本7.0 问题描述:扫描蓝牙4.0,回调方法 BluetoothAdapter.LeScanCallback 不触发 今天写 BLE 的 demo 发现 自己的手机搜不到周围设备 mBluetoothAdapter.startLeScan(callBack); 没有回调方法 当然,同样的程序在其他手机(试了小米 和 另一款华为) 就运
android6.0以上版本蓝牙4.0开发
android6.0蓝牙4.0开发
android扫描蓝牙时不回调LeScanCallback中的方法
将 targetSdkVersion 从24改为22即可
Android蓝牙4.0 BLE开发坑总结
onServicesDiscovered 回调里不能直接执行 write /readDataFromCharacteristic() 或者 enableNotificationOfCharacteristic之类的,而要放到主线程里执行,如 handler.post( … ); 如果发现连接上了,service也discover到了,但是始终不能触发onCharacteristicChanged的,
Android蓝牙4.0扫描
本文主要记录一下Android扫描蓝牙设备的方法。 初始化蓝牙和注册广播: private void initBluetooth() { mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); if (mBluetoothAdapter != null) { In...
Android 蓝牙4.0 BLE 开发之请求同步实现篇 完全解析
开发过Android 蓝牙4.0 BLE的同学都知道,Android的蓝牙开发有非常多的坑,具体坑的集合可见我的前面一篇博客,《Android蓝牙4.0 BLE开发坑总结》,其中不同机型之间的兼容性就是一个很令人头疼的问题,很多问题究其原因是在手机端和智能设备之间发送请求指令和回调时,其方式是异步请求的,即请求完立即结束,等待回调,而回调又在不同的线程中,因此当交互比较频繁并且之间有依赖关系的时候,
Android低功耗蓝牙 升级 5.0以上的BLE开发
蓝牙4.0分为标准蓝牙和低功耗蓝牙(BLE),标准蓝牙就是手机上用的那种,低功能耗蓝牙由于其具有最大化的待机时间、快速连接和低峰值的发送和接收特性,被广泛用于智能手表、智能手环等可穿戴设备上。在安卓4.3之前,安卓平台上的BLE开发相当难搞,好在谷歌在4.3之后发布了官方的API。在安卓5.0之后又引入了新的API,原来的API已经被废弃。在新的系统里采用旧API开发的APP仍可使用,但采用新AP
安卓Android BLE低功耗蓝牙接受数据详解 只需100行代码轻松搞定
安卓手机通过蓝牙获取电子秤的重量的Demo
基于 Android蓝牙4.0开发详细讲解,与硬件通信 史上最牛逼,最详细
1.如果你准备搞蓝牙开发了,那么Android的基本常识你也应该很熟悉,比如说:Service 。你还需要一个支持蓝牙4.0的手机,不然神马都白瞎! 首先,几乎所有的蓝牙开发都是基于服务的,那么你需要建立一个蓝牙服务类。 像这样public class BluetoothService extends Service { @Override public IBinder onBind(Inte
浅谈蓝牙4.0 Ble开发
蓝牙4.0是2012年最新蓝牙版本,是3.0的升级版本;较3.0版本更省电、成本低、3毫秒低延迟、超长有效连接距离、AES-128加密等;通常用在蓝牙耳机、蓝牙音箱等设备上。蓝牙技术联盟(Bluetooth SIG)2010年7月7日宣布,正式采纳蓝牙4.0核心规范(Bluetooth Core Specification Version 4.0 ),并启动对应的认证计划。会员厂商可以提交其产品进...
android ble蓝牙开发总结(附带自己项目中提取整理的demo地址)
一些基本的知识我就不写了,很多其他博客都可以查到。我主要写几点我在其他博客没有看到的东西以及我在实际开发中遇到的问题。最后我会贴上代码的地址。 1.需要设置2个或3个uuid。通常连接设备后会得到很多个服务(Service),每个服务下会对应对个特征值(Characteristic)。所以先要找到某个服务下可用的Characteristic,拿到uuid。如果该Characteristic是可读
android BLE从入门到精通开发
目前智能家居都被看成是下一个科技爆发点,而智能家居里面使用的技术,响应最高的就算是BLE了,下面,我们说一下android怎么开发BLE,和要注意的一些问题:1.首先,得知道,android是从android4.3版本才开始支持BLE的,所以,开发的前提就是要知道系统的支持:if (android.os.Build.VERSION.SDK_INT < 18) { // 说明sdk不够高版本
Android 蓝牙4.0发送数据到蓝牙打印机
在蓝牙4.0之后 为了降低功耗,对发送的数据做了限制,每次只能发送20个字节,所以不能使用之前的方法将数据一次性发送过去,需要使用for循环将数据进行拆分为20个字节来进行发送。  www.hblkkcp.com...
蓝牙Ble4.0通讯的步骤及实现
在一家偏硬件的一家公司从事穿戴式设备的开发,通过近几个月学习与研究对于蓝牙4.0的通讯还有有点自己的见解,有不足的地方大家可以一起讨论,互相学习,废话不多说,那么如何进行蓝牙4.0的通讯与数据传输呢?本demo比较简单,大家应该都可以很好理解与学习的! 有基本的几个步骤,下面是一些代码段,希望对大家有所帮助吧。 添加蓝牙权限, uses-permission android:
android6.0蓝牙权限问题以及4.0无法扫描到Ble设备问题
在Android 6.0,原来的蓝牙功能,发现扫描蓝牙设备时,无法获取到蓝牙设备;因为在6.0后,蓝牙这块增加一个动态权限;需要在程序中动态申请。 1.在AndroidManifest里面加上了权限 1) 在6.0版本前,使用蓝牙功能,只需要配置下面的权限即可: &lt;!-- 蓝牙相关 --&gt; &lt;uses-permission android...
Android低功耗蓝牙 不回调onServicesDiscovered问题
搞了一个下午,搜来搜去还是没有解决问题。 后来仔细想想gatt.discoverServices()是用来发现服务,之所以没有执行onServicesDiscovered是说明没有发现相关服务。 那问题肯定就出在了gatt.discoverServices()。 后来我尝试多执行几次gatt.discoverServices()。竟然可以回调了,而当只调用一次gatt.discoverSer...
搜索BLE设备LeScanCallback无回调!
吐槽!!这编辑器用的很累,搞这么多命令干啥!直接像word一样,多弄几个命令图标就好, 虽然俺们是程序猿,快捷键心中也装了很多,但是别啥玩意儿都让我们记好不好?顶部搞几个命令图标典型不够用!代码块怎么添加???? ---------- 好了,说正事!BLE 搜索无回调! ---------- 1.AndroidManifest.xml添加 &amp;lt; uses-permission and...
Android ble蓝牙4.0开发遇到的问题及解决方法
1、蓝牙传送数据报文长的问题 由于ble蓝牙一次只能发送20字节报文,如果需要超过20字节的报文,就需要采用分包机制分两包或多包收发。 2、开发中出现app端同时向蓝牙服务端设备发送多个接口请求的问题 由于问题1的需求,多包请求报文导致同时调用多个接口时,蓝牙服务端收到多接口调用报文穿插的情况。而android设备底层没有实现蓝牙报文的同步机制,故而需要
android Ble4.0蓝牙开发之搜索慢、startLeScan()过时,6.0以上不需要定位权限也能快速搜索到蓝牙设备
        项目中需要用到android Ble蓝牙4.0开发技术,于是开启了蓝牙填坑之旅,说实话,蓝牙开发坑真多,跳出一个又进入下一个,每次遇到 问题,就觉得不可能解决了,还好在自己的摸索中,都一一的化解了,以此来记录安卓蓝牙开发的心得。     接手的蓝牙开发项目,原来的同事已经写好,不用再去写,开始也就大概看了看android蓝牙开发相关资料,对比项目中的蓝牙开发代码,发现发现搜索、连接...
Android大于6.0系统 蓝牙扫描 LeScanCallback 方法 不回调
问题描述 公司的 app 要链接BLE蓝牙设备,最近发现在 6.0 系统,startLeScan(mLeScanCallback);回调不触发.查资料发现 &amp;gt;6.0 需要一个模糊位置权限才能使用蓝牙,至于为什么蓝牙需要位置权限,我也很意外。 解决思路  1.1 清单加入位置权限(有可能清单中已经具备了) &amp;lt;uses-permission android:name=&quot;androi...
Ble蓝牙开发遇到的坑
蓝牙Ble相关的开发看似很简单,但是总有一些小细节不清楚就会让你容易入坑。现在就我在蓝牙开发过程中遇到的一些坑和一些需求的解决方式进行总结,也算是对前期蓝牙开发的一些记录。 什么是蓝牙BLE? 蓝牙Ble就是一种新的蓝牙标准,google从Android4.3开始支持蓝牙Ble。我们知道蓝牙发展至今经历多个版本,如1.1、1.2、2.0、2.1、3.0、4.0、4.1、4.2。...
Android BLE蓝牙开发中读取数据时设置Notify的方法
项目又增加了一个功能,需要app能够实时监测到按钮的变化。 我就参照之前的电量获取方法,直接获取。 之前的电量获取方式 先获取服务 bluetoothGattService = bluetoothGatt.getService(UUID.fromString(SERVICE_UUID)); 然后获取Characteristic characteristic3 = bluetooth...
BLE蓝牙4.0在Android中的应用
本文依据实际项目经验,介绍了BLE在Android中的应用,包括BLE设备搜索、BLE设备连接以及与BLE设备信息交换。并从工作项目中抽取上述核心代码,编写了一个BLE在Android中应用的完整demo。Demo下载地址请看文章末尾。 先上图,然后再具体介绍BLE技术实现。 由于BLE蓝牙只能支持Android 4.3以上的系统 (SDK>=18),所以在进行BL
Android蓝牙通信(蓝牙2.0和4.0)
先说我的应用场景,android手机跟一块带有蓝牙模块的板子通信。为了节省成本那块板子的蓝牙模块是2.0的,而现在大多数手机带的蓝牙都是4.0 以上的。所以我的应用应该是蓝牙4.0以上与蓝牙2.0的通信。在此说明一下蓝牙4.0 与2.0 之间通信是ok的,蓝牙的开放性、兼容性都很强的,只是传输速率是按2.0的。还有蓝牙传输的是字节流,每包最大能发20个字节...
Android BLE蓝牙4.0开发详解
可视化源码资源网站https://www.leachchen.com/ 这篇博客主要讲解蓝牙 BLE的用法。在讲解之前先讲一些概念性的东西,对于之前没接触过蓝牙开发,现在手上又有个蓝牙BLE项目需要做的人,先看下这些概念还是很重要的。因为我之前就是这样,之前没有接触过蓝牙方面的开发,然后来了个蓝牙的项目,于是就到网上百度了一番,于是有点茫然,产生了几点疑惑: ...
android:蓝牙4.0的搜索、连接及数据传输(真实可用)——(一)
每周写一篇博客,愿共同促进。17年6月第4周 最近两周由于时间问题,博客一直没有更新。这周做了两个项目,一个是用自定义控件画了一个动画,另一个就是利用蓝牙4.0进行的一个智能设备的一个通信。对于蓝牙4.0,在做项目的过程中发现,一方面是网上的资料大多还是13年左右的资料,而且很多在现在的现在的编译环境下,很多不能实现。另一点就是很多资料几乎都是简单的重复,而且很多错误简单重复,并没有经过大家的实际
Android 蓝牙4.0 BLE 获取链接设备Rssi值
在网上查了很多资料,没有BLE获取RSSI值的资料,这几天弄了BLE 的Rssi值获取,写下来,做记录~      蓝牙BLE 服务回调方法 // 通过BLE API的不同类型的回调方法 @SuppressLint("NewApi") private final BluetoothGattCallback mGattCallback = new BluetoothGattCallbac
Android 蓝牙4.0 BLE问题总结
最近做蓝牙4.0相关项目的时候遇到了很多的问题,所以在此记录并总结一下。 问题总结说明 1、首先使用蓝牙必须先打开设备的蓝牙,android为我们提供了两种打开方式,强制打开和非强制打开,如下: /** * 强制打开蓝牙 */ fun openBluetooth(): Boolean = mBluetoothAdapter!!.enable() 强制打开:这种打开方式在绝大多数手机...
Android Ble 4.0 蓝牙开发交互
产品需求:1、app通过蓝牙连接到板子设备                    2、以发报文的形式与板子设备通讯                    3、当设备接受到正确的报文指令后,会将检测的数据返回                    4、将返回的数据解析设置到界面显示即可 板子介绍: 准备工作:                  1:、与嵌入式工程师交互(将驱动这里指串口,
android 蓝牙4.0入门开发
针对一对一的蓝牙进行通讯,适合没有开发过蓝牙的同学来看,也适合大部分物联网简单开发,没有深入蓝牙的开发。对于没有开发过蓝牙的来说,我先说下逻辑。比如先拿自己手机的蓝牙来说,打开蓝牙,列出列表,包含已经配对过的和可用设备, 点击其中一个进行配对,配对完成就可以进行文件传输等通信功能了。所以对于蓝牙开发,大致以下步骤 1.打开蓝牙 2.蓝牙扫描,列出可用设备 3.关闭蓝牙扫描(不关闭会一直扫描) 4...
蓝牙 LeScanCallback 不能回调
蓝牙BLE透传移植到Android 7.0,不能搜索到蓝牙设备,由于蓝牙ble API18以上版本Google 取消掉startLeScan 函数回调, 导致回调LeScanCallback 函数不能执行,解决办法:修改最低编译版本app.build.gradle-&amp;gt;minSdkVersion =18 ;...
Android 蓝牙4.0 ble 官方绿色源码 demo
android系统4.3以上,手机支持蓝牙4.0,搜索,配对,连接,发现服务及特征值,断开连接等功能,参考官网地址:http://developer.android.com/guide/topics/connectivity/bluetooth-le.html
android 蓝牙4.0广播功能应用
一、添加蓝牙权限 在AndroidManifest.xml文件中添加如下红色部分代码,添加蓝牙打开权限,以及LE接口调用权限。 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.administrator.myapplication">
蓝牙BLE开发基础教程 android5.0 蓝牙4.0 透传 Android Studio(三)
六、收发数据发送示例byte[] senddatas =new byte[]{1,2,3,4,34,56,78,90}; bluetoothGattCharacteristic.setValue(senddatas); bluetoothGatt.writeCharacteristic(bluetoothGattCharacteristic);接收示例//在onCharacteristicChang
学习笔记之低功耗蓝牙开发
概述 官方项目:GoogleSamples-android-BluetoothLeGatt ClassicBluetooth:学习笔记之经典蓝牙开发 iBeacon:学习笔记之iBeacon应用 经典蓝牙与低功耗(BLE)蓝牙的区别 ①经典蓝牙:发现/搜索设备-->配对/绑定设备-->建立连接-->数据通信 ②BLE蓝牙:中央 VS 外围设备,中央设备扫描,寻找广播;外围设备发出广播。