c# - 在 Xamarin 中使用 BLE.Plugin 始终使用相同的蓝牙 Mac 地址
问题描述
我正在使用 BLE.Plugin 扫描 Xamarin 中的其他设备。扫描没有问题,插件找到了一些设备,但所有设备都有相同的mac-address。找到的地址与它应该找到的设备的设备地址不匹配。在我正在使用的代码下方。
adapter.DeviceDiscovered += (s, a) =>
{
if (a.Device.NativeDevice is BluetoothDevice device)
{
if (addresses.Contains(device.Address))
{
...
}
}
};
await adapter.StartScanningForDevicesAsync();
解决方案
需要使用 NativeDevice 吗?a.Device 上的 Id 字段是找到的每个蓝牙外设的唯一 ID。
似乎您无论如何都不能在 iOS 上使用 Mac 地址,并且 Id 跨平台兼容 ->如何从 CBPeripheral 和 CBCenter 获取 Mac 地址
推荐阅读
- flutter - 如何更新列表
- javascript - Angular.js:输入类未按预期更改/预填充数据
- header-files - gnu ld 在带有外部 hpp 标头的程序中表示未定义对 'xxx(arg1, arg2)' 的引用
- url - 如何翻译 wagtail 中的静态页面...?
- javascript - 始终隐藏 .00 十进制数
- python-3.x - 如果我使用 sqrt(parse_expr('a**2')).simplify(),我无法得到 abs(a)。Python 输出 sqrt(a**2)。同情图书馆
- excel - 数据合并,同时排除其他工作表
- unit-testing - 使用 WebAssembly 在 Rust 中进行单元测试
- python - 使用 Python 请求请求 DuckDuckGo 时出现奇怪的错误
- python - 已声明但未使用的命名空间扰乱了我的解析