大佬教程收集整理的这篇文章主要介绍了windows-10-mobile – 如何扫描可用/存在的蓝牙低功耗(BLE)设备?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
但问题是,如果我删除这些设备或关闭它们,即使我的应用程序返回扫描结果中的名称.我认为它正在返回缓存结果.我怎样才能确保它只显示那些可用/存在的设备.
我已尝试在扫描中使用其他属性,即System.Devices.Aep.IsPresent等,但无论可用的设备是否可用,它们都会在结果中显示为null.
这是我正在使用的代码片段 –
String[] @R_489_10613@estedProperties = new String[] { "System.Devices.Aep.IsPresent","System.Devices.Present","System.Devices.Connected","System.Devices.Paired","System.Devices.Aep.IsConnected","System.Devices.AepContainer.IsPresent" }; Dicollection = await DeviceInformation.FindAllAsync(GattDeviceservice.GetDeviceSELEctorFromUuid(serviceUuid),@R_489_10613@estedProperties ); foreach (var diItem in Dicollection) { Debug.WriteLine("Discovered Device name - " + diItem.Name); Debug.WriteLine("Discovered Device Additional Properties Below"); foreach (var item in diItem.Properties) { Debug.WriteLine("Key-{0} Value-{1}",item.Key,item.value); } }
以下是使用的Package.appxmanifest功能 –
<Capabilities> <Capability Name="internetClientServer" /> <DeviceCapability Name="bluetooth" /> </Capabilities>
提前致谢.
-Jitender
https://docs.microsoft.com/en-us/windows/uwp/devices-sensors/device-information-properties
需要的是AssociationEndpoint相关的属性,windows phone 8.1中都不支持这些属性(即使枚举不可用) – 所以基本上api没有提供任何方式让我们能够从缓存中查询连接是否是目前是否可用.
我测试了每种组合并且它们没有提供足够的信息(打开的PC与没有打开的PC无法区分).
唯一的解决方法是连接到缓存中的每个配对计算机,并查看每个连接是否成功将其添加到显示的列表中(如果成功).每个失败的连接需要大约4-5秒.因此,如果过去有多台配对计算机,则显示列表可能会有一些大的延迟.然而,我找不到任何其他可行的方法来检查这一点,至少这解决了这个问题.
以上是大佬教程为你收集整理的windows-10-mobile – 如何扫描可用/存在的蓝牙低功耗(BLE)设备?全部内容,希望文章能够帮你解决windows-10-mobile – 如何扫描可用/存在的蓝牙低功耗(BLE)设备?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。