收藏
回答

鸿蒙设备6.1.0连接蓝牙设备 设备状态问题不能实时更新怎么解决?

// utils/blePresenceStore.js
const STICKY_MS = 45000;

function markSeen(deviceId) {
  s.lastSeen = Date.now();
  s.missCount = 0;
  s.explicitOffline = false;
}

function markGattDisconnected(deviceId, inRtcGrace) {
  if (inRtcGrace || isHarmonyOS()) {
    s.rtcGraceUntil = Date.now() + 8000;
    return;
  }
  s.explicitOffline = true;
}

function applyScanResults(deviceList, scannedDevices, matchFn, btBizId, btConnected, opts) {
  const didScan = !opts.scanSkipped;
  const map = matchFn(deviceList, scannedDevices, btBizId, btConnected);
  deviceList.forEach((device) => {
    const row = map[device.deviceId];
    if (row.connected || row.discovered) {
      markSeen(device.deviceId);
    } else if (didScan) {
      recordScanMiss(device.deviceId); // 鸿蒙 threshold=3 次漏扫后 explicitOffline
    }
    row.present = row.connected || row.discovered
      ? true
      : (isExplicitOffline(device.deviceId) ? false : !!isStickyOnline(device.deviceId));
  });

}

这是状态机的代码 问题出在哪里呢

回答关注问题邀请回答
收藏

1 个回答

  • 智能回答 智能回答 本次回答由AI生成
    05-22
    有用
登录 后发表内容