嗨,我正在尝试将Java应用程序转换为C#,这对Visual Studio来说是新手。我正在关注本教程http://www.drjukka.com/blog/wordpress/?p=181
当我尝试使用以下设备获取设备时,应用程序崩溃了:DeviceInformation.FindAllAsync(deviceFilter).
由于这是一个异步调用,因此我不确定是什么原因导致崩溃的。
我正在使用Windows 10和Visual Studio Community 2017版本15.9.3。
我的手机已与运行此代码的桌面配对。任何帮助将不胜感激。
代码:
private static readonly Guid btUUID = Guid.Parse("34B1CF4D-1069-4AD6-89B6-E161D79BE4D8");
rfcommProvider = await RfcommServiceProvider.CreateAsync(
RfcommServiceId.FromUuid(btUUID));
string deviceFilter = RfcommDeviceService.GetDeviceSelector(RfcommServiceId.FromUuid(btUUID));
Console.WriteLine(deviceFilter);
Console.WriteLine(rfcommProvider.ServiceId.AsString());
DeviceInformationCollection devices = await DeviceInformation.FindAllAsync(deviceFilter); //CRASH
应用清单:
<Capabilities>
<DeviceCapability Name="bluetooth.rfcomm">
<Device Id="any">
<Function Type="serviceId:34B1CF4D-1069-4AD6-89B6-E161D79BE4D8"/>
<Function Type="name:serialPort"/>
</Device>
</DeviceCapability>
</Capabilities>
控制台输出:
System.Devices.DevObjectType:=10 AND System.Devices.AepService.ProtocolId:="{E0CBF06C-CD8B-4647-BB8A-263B43F0F974}" AND System.Devices.AepService.ServiceClassId:="{B142FC3E-FA4E-460B-8ABC-072B628B3C70}" AND System.Devices.AepService.Bluetooth.ServiceGuid:="{34B1CF4D-1069-4AD6-89B6-E161D79BE4D8}" AND System.Devices.AepService.ParentAepIsPaired:=System.StructuredQueryType.Boolean#True
{34B1CF4D-1069-4AD6-89B6-E161D79BE4D8}