dependencies {
compile project(':blelib')
}
bleManager = BleManager.getInstance(this);
bleManager.scanDevice(new BleScanCallback(设置扫描时间) {
@Override
public void onDeviceFound(List<BluetoothDevice> deviceList) {
//返回搜索到的设备
}
});
bleManager.connectDevice(mBlueDevices.get(0), false, new BleGattCallback(handler) {
@Override
public void onServicesDiscovered(BluetoothGatt gatt, int status) {
//向蓝牙设备写入描述符, 请求获取数据
bleManager.writeDevice(gatt, UUIDCons.s1, UUIDCons.c1, UUIDCons.d1, null);
//读取设备返回的数据, 数据通过handler返回
bleManager.readDevice(gatt, UUIDCons.s1, UUIDCons.c1);
}
@Override
public void onConnectSuccess(BluetoothGatt gatt, int status) {
//搜索service, 成功后回调onServicesDiscovered
gatt.discoverServices();
}
@Override
public void onConnectFailure(BluetoothGatt gatt, int status) {
}
});
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what) {
case 0x2:
byte[] datas = (byte[]) msg.obj;
mTv_hearbeat.setText("当前心率: " + datas[1]);
break;
}
}
};