// 广播数据过滤 if (filter_status == TriStateToggleButton.ToggleStatus.on) { // 处理数据,判断广播 byte[] scanRecord = result.getScanRecord().getBytes(); Log.i(TAG, "onScanResult data: " + Util.byte2HexStr(scanRecord)); String boardMsg = Util.parseBroad(scanRecord); if (boardMsg != null) { Log.i(TAG, "onScanResult: boardmsg " + boardMsg); } if(!XBY_BOARD.equals(boardMsg)){ return; } }解释代码
时间: 2024-02-10 10:35:27 浏览: 26
这段代码是用于过滤蓝牙扫描结果的广播数据。首先判断`filter_status`是否为`on`,如果是,则获取扫描结果的广播数据,使用工具类`Util`中的`parseBroad`方法对广播数据进行处理,得到广播信息`boardMsg`。如果`boardMsg`不为空且不等于常量`XBY_BOARD`,则直接返回,否则可以继续后续的操作。这段代码的作用是提高蓝牙扫描结果的准确性,只保留符合规定格式的广播数据。
相关问题
@Override public void onScanResult(int callbackType, ScanResult result) { BluetoothDevice device = result.getDevice(); Log.i(TAG, "onScanResult: 扫描到设备 " + device.getName() + " RSSI:" + result.getRssi()); int rssi = result.getRssi(); // 获取当前过滤设置 TriStateToggleButton.ToggleStatus filter_status; // 过滤为false, 全部检查 if(XbyActivity.filterProduct){ filter_status = TriStateToggleButton.ToggleStatus.on; }else{ // 三种过滤模式(普通) filter_status = mScanBack.getScanFilterStatus(); } // 过滤无名称设备 if (filter_status != TriStateToggleButton.ToggleStatus.off) { // on mid 都会走无名称过滤 if (device.getName() == null) { return; } }
这段代码是在扫描蓝牙设备时的回调函数,onScanResult()方法会在每扫描到一个设备时回调一次。回调参数包括callbackType和result,其中callbackType表示回调类型,result表示扫描到的设备信息。在方法中,首先通过result.getDevice()获取扫描到的蓝牙设备对象,然后使用Log.i()方法将设备名称和信号强度等信息打印到日志中。接着获取当前的过滤设置,如果过滤为false,则不对设备进行过滤检查;否则,根据过滤模式来对设备进行过滤,例如过滤无名称设备。最后,如果设备名称为null,则返回,否则继续执行后续操作。
formData.iotEquipPlanDetailList = formData.iotEquipPlanDetailList .filter(_ => _.show) .map(_ => { if (_.dataType === 1) { // } else { _.randomStart = _.random[0]; _.randomEnd = _.random[1]; delete _.random; } delete _.show; delete _.random; return _; });
这段代码是对`formData.iotEquipPlanDetailList`数组进行处理。具体来说,它做了以下几件事:
1. 使用`filter`方法过滤掉`show`属性为`false`的元素;
2. 使用`map`方法对数组中的每个元素进行处理,并返回新的数组;
3. 对于每个元素,如果`dataType`属性为`1`,不做处理,否则将`random`属性拆分成`randomStart`和`randomEnd`两个属性,然后删除`random`属性;
4. 最后删除每个元素中的`show`和`random`属性,然后返回处理后的新数组。
这段代码的目的是对数组进行一些数据的处理和清理,以便在后续的业务逻辑中使用。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)