device.connectGatt(getApplicationContext(), false, gattCallback, BluetoothDevice.TRANSPORT_LE)
困扰了一天的问题。这里,全部参考google 官方文档 BLE开发。但是事与愿违,最终出现了133的问题。参考了很多网上的攻略,无一幸免。这里声明一下,这篇博客仅仅针对有一定蓝牙开发基础的同学。1 status = 133 出现的原因是什么出现的原因是因为,频繁建立连接,导致连接占用的资源太多2 版本兼用性问题由于android的碎片化比较严重,机型与版本的不同。解决方案:在建立gatt连接的回调监听中,当连接失败的时候,去回收资源针对6.0 一下和6.0以上的做兼容处理
谷歌官方提供的Android平台上的关于低功耗蓝牙开发的示例代码,该示例包含了Android低功耗蓝牙开发的完整过程:(低功耗蓝牙可简称“BLE”)
1、声明蓝牙权限
2、设置BLE
3、扫描BLE
4、连接到GATT服务器(即低功耗蓝牙设备)
5、读写BLE属性(即收发数据)
6、接收GATT通知
7、关闭GATT客户端
http://www.loverobots.cn/android-ble-connection-solution-bluetoothgatt-status-133.html
最近的工作方向一直在低功耗蓝牙方面,也就是BLE(Bluetoooth Low Energy)。要说起蓝牙,之前能够想到的应用也就是蓝牙耳机、蓝牙手柄之类的。本以为蓝牙这个技术会慢慢没落下去,不过
代码片段:出现连接133的问题找了很久的解决办法,尝试各种亦然不行,最终的解决办法就是下面标红代码
if (status == BluetoothGatt.GATT_SUCCESS) {
if (newState == gatt.STATE_CONNECTED) {
Log.i(TAG, "onConnectionStateChange: --------" + "\"连接成功\"");
//发现服务
gatt.discoverServices().
#define GATT_SUCCESS 0x00
#define GATT_INVALID_HANDLE 0x01
#define GATT_READ_NOT_PERMIT 0x02
#define GATT_WRITE_NOT_PERMIT 0x03
#define GATT_INVALID_PDU 0x04
#define GATT_INSUF_AUTHENTICATION 0x05
#define GATT_REQ_NOT_SUPPORTED 0
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.yinuo.parking.app.MyApplication"