@SuppressLint("MissingPermission")
@UniJSMethod(uiThread = true)
fun scanBluetoothDevices(callback: UniJSCallback?) {
showSuccessMessage(callback,"scanBluetoothDevices")
BleManager.scan(object : BleScanCallback {
override fun onScanStarted(success: Boolean) {
//开始扫描 success 表示是否成功开始扫描
scanStart(callback)
}
override fun onLeScan(
oldDevice: BleDevice,
newDevice: BleDevice,
scannedBefore: Boolean) {
// 扫描到一个符合规则的设备
// oldDevice 上一次扫描到的 newDevice新扫描到的
// scannedBefore之前是否扫描到过,当scannedBefore为false的时候 oldDevice和newDevice相同
LogUtils.logGGQ("扫描到设备:${newDevice.device.address}")
findDevice(callback,newDevice)
}
override fun onScanFinished(scanResultList: List<BleDevice>) {
// 扫描结束,列出所有扫描到的符合扫描规则的BLE设备
scanEnd(callback)
}
override fun onFilter(bleDevice: BleDevice): Boolean {
// 通过配置扫描规则之后,自定义过滤规则
return true
}
})
}
0 个回复