android ble连接129,onServicesDiscovered状态为129,并且在Android中为BLE连接unstable

我按照蓝牙低能耗页面进行

Android 4.3蓝牙低功耗开发

我尝试通过以下代码连接BLE设备:

public void connect(final String address) {

// TODO Auto-generated method stub

Log.w(TAG, "BluetoothLeService Connect function.");

if(mBluetoothAdapter == null || address == null){

Log.w(TAG, "BluetoothAdapter not initialized or unspecified address.");

}

final BluetoothDevice device = mBluetoothAdapter.getRemoteDevice(address);

mBluetoothGatt = device.connectGatt(this, true, mGattCallback);

}

连接到BLE设备后,它将通过mBluetoothGatt.discoverServices()发现服务;像下面的代码.

private final BluetoothGattCallback mGattCallback = new BluetoothGattCallback() {

public void onConnectionStateChange(android.bluetooth.BluetoothGatt gatt, int status, int newState) {

if(mBluetoothGatt == null){

Log.e(TAG, "mBluetoothGatt not created!");

return;

}

device = gatt.getDevice();

address = device.getAddress();

try {

switch (newState) {

case BluetoothAdapter.STATE_CONNECTED:

Log.i(TAG, "STATE_CONNECTED:");

broadcastUpdate(ACTION_GATT_CONNECTED, device, status);

mBluetoothGatt.discoverServices();

// Attempts to discover services after successful connection.

break;

case BluetoothAdapter.STATE_DISCONNECTED:

Log.i(TAG, "STATE_DISCONNECTED:");

gatt.close();

broadcastUpdate(ACTION_GATT_DISCONNECTED, device, status);

break;

default:

Log.i(TAG, "New state not processed: " + newState);

break;

}

} catch (Exception e) {

// TODO: handle exception

e.printStackTrace();

}

}

但是连接后Android会立即断开连接,onServicesDiscovered的状态也会显示129,如下面的日志

D/BtGatt.btif(25992): btif_gattc_upstreams_evt: Event 2

D/BtGatt.GattService(25992): onConnected() - clientIf=4, connId=4, address=20:73:20:00:6C:B4

D/BluetoothGatt(27228): onClientConnectionState() - status=0 clientIf=4 device=2

0:73:20:00:6C:B4

I/BluetoothLeService(27228): BluetoothGattCallback-----newState@@@@@@2

I/BluetoothLeService(27228): STATE_CONNECTED:

I/Device_information(27228): BroadcastReceiver---action = ti.android.ble.common.

ACTION_GATT_CONNECTED

D/BluetoothGatt(27228): discoverServices() - device: 20:73:20:00:6C:B4

D/BtGatt.GattService(25992): discoverServices() - address=20:73:20:00:6C:B4, connId=4

D/BtGatt.btif(25992): btif_gattc_search_service

D/BtGatt.btif(25992): btgattc_handle_event: Event 1006

W/qdhwcomposer( 326): Excessive delay reading vsync: took 266 ms

W/bt-l2cap(25992): L2CA_EnableUpdateBleConnParams - unknown BD_ADDR 207320006cb4

E/bt-btm (25992): btm_sec_disconnected - Clearing Pending flag

E/MP-Decision( 2172): Error setting a sleep mode for secondary cores - -38

D/BtGatt.btif(25992): btif_gattc_upstreams_evt: Event 6

D/BtGatt.GattService(25992): onSearchCompleted() - connId=4, status=129

D/BluetoothGatt(27228): onSearchComplete() = Device=20:73:20:00:6C:B4 Status=129

I/BluetoothLeService(27228): onServicesDiscovered-----status@@@@@@ = 129

I/BluetoothLeService(27228): onServicesDiscovered-----129@@@@@@ = 129

W/BluetoothLeService(27228): BluetoothLeService Connect function.

D/BluetoothManager(27228): getConnectionState()

D/BluetoothManager(27228): getConnectedDevices

D/BluetoothAdapterService(1109096104)(25992): Get Bonded Devices being called

D/BluetoothAdapterProperties(25992): getBondedDevices: length=1

D/BtGatt.GattService(25992): getDeviceType() - device=20:73:20:00:6C:B4, type=2

W/BluetoothLeService(27228): connect----------mBluetoothGatt = android.bluetooth.BluetoothGatt@4227a800

D/BluetoothGatt(27228): connect() - device: 20:73:20:00:6C:B4, auto: true

D/BluetoothGatt(27228): registerApp()

D/BluetoothGatt(27228): registerApp() - UUID=c560ac73-9ca3-4c2b-a6d4-7c6ec57b7209

D/BtGatt.GattService(25992): registerClient() - UUID=c560ac73-9ca3-4c2b-a6d4-7c6ec57b7209

D/BtGatt.btif(25992): btif_gattc_register_app

D/BtGatt.btif(25992): btif_gattc_upstreams_evt: Event 5

D/BtGatt.GattService(25992): onDisconnected() - clientIf=4, connId=4, address=20:73:20:00:6C:B4

D/BluetoothGatt(27228): onClientConnectionState() - status=133 clientIf=4 device=20:73:20:00:6C:B4

I/BluetoothLeService(27228): BluetoothGattCallback-----newState@@@@@@0

I/BluetoothLeService(27228): STATE_DISCONNECTED:

为什么会出现这种情况

这让我困惑了几天……有人可以帮助我吗?

提前致谢.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值