gpt4 book ai didi

c# - 如何使用 DeviceInformation.FindAllAsync 枚举 Windows Phone 可见的所有 BLE 设备?

转载 作者:行者123 更新时间:2023-11-30 21:52:29 28 4
gpt4 key购买 nike

  1. 我有一个代码可以列出 Windows Phone 8.1 可以检测到的所有蓝牙LE 设备(已配对和未配对):

        var devices = await DeviceInformation.FindAllAsync( BluetoothLEDevice.GetDeviceSelector() );
    foreach ( DeviceInformation di in devices )
    {
    BluetoothLEDevice bleDevice = await BluetoothLEDevice.FromIdAsync( di.Id );

    Debug.WriteLine( bleDevice.Name );
    }

但是,行:

var devices = await DeviceInformation.FindAllAsync( BluetoothLEDevice.GetDeviceSelector() );

抛出异常。

知道为什么吗?

  1. 我也试过这段代码:

    var devices = await DeviceInformation.FindAllAsync( GattDeviceService.GetDeviceSelectorFromUuid( GattServiceUuids.GenericAttribute ) );

此代码不会抛出异常,但会返回 0 个设备。

知道为什么吗?

在这两种情况下,DeviceCapability 定义如下:

    <m2:DeviceCapability Name="bluetooth.genericAttributeProfile">
<m2:Device Id="any">
<m2:Function Type="name:genericAttribute"/>
</m2:Device>
</m2:DeviceCapability>

最佳答案

如果您使用的是 Windows Phone 8.1,则无法枚举未配对的设备。这随 Windows 10 SDK 版本 1511 而改变

关于c# - 如何使用 DeviceInformation.FindAllAsync 枚举 Windows Phone 可见的所有 BLE 设备?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34732969/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com