}
return bleUtil;
}
public void startBle() {
if (!isStandByBle) {
Toast.makeText(context, “该设备不支持蓝牙功能”, Toast.LENGTH_SHORT).show();
return;
}
bleDevices = new ArrayList<>();
BleScanRuleConfig scanRuleConfig = new BleScanRuleConfig.Builder()
// .setServiceUuids(serviceUuids)
// .setAutoConnect(true)
// .setDeviceMac(“连接到的蓝牙MAC地址”)
.setScanTimeOut(15000)
.build();
bleManager.initScanRule(scanRuleConfig);
if (!bleManager.isBlueEnable()) {
bleManager.enableBluetooth();
}
handler.postDelayed(bleScanRunnable, 2 * 100);
}
private void startScan() {
if (isResetConnect && listener != null) {
listener.onResetConnect();
isResetConnect = false;
}
bleManager.scan(new BleScanCallback() {
@Override
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(connecte