public void onScanFinished(List list) {
isScaning = false;
}
@Override
public void onScanStarted(boolean b) {
isScaning = true;
}
@Override
public void onScanning(BleDevice bleDevice) {
Log.e(TAG, bleDevice.getName() + " " + bleDevice.getMac());
bleDevices.add(bleDevice);
if (listener != null) {
listener.onScaningBle(bleDevice);
}
}
});
}
//停止扫描
public void stopScan() {
if (isScaning)
bleManager.cancelScan();
}
//断开连接
public void disConnect() {
handler.removeCallbacks(bleScanRunnable);
handler.removeCallbacks(bleConnectedRunnable);
handler.removeCallbacks(bleConnectRunnable);
handler.removeCallbacks(returnTimeOutRunnable);
handler.removeCallbacks(receiveDataRunnable);
if (connectedBleDevice != null && bleManager.isConnected(connectedBleDevice)) {
stopIndicate();
bleManager.clearCharacterCallback(connectedBleDevice);
bleManager.disconnect(connectedBleDevice);
}
}
//判断是否连接
public boolean isConnected() {
if (connectedBleDevice == null) {
return false;
} else {
return bleManager.isConnected(connectedBleDevice);
}
}
@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN_MR2)
public void connectBle(BleDevice bleDevice) {
stopScan();
bleManager.connect(bleDevice, new BleGattCallback() {
@Override
public void onStartConnect() {
}
@Override
public void onConnectFail(BleDevice bleDevice, BleException e) {
//连接失败,需做好重连措施
connectedBleDevice = bleDevice;
handler.postDelayed(bl