如何将 rfcomm 和 genericAttributeProfile 设备功能添加到 Windows 8.1 中的 Package.appxmanifest。

How to add rfcomm and genericAttributeProfile device capabilities to Package.appxmanifest in Windows 8.1.

我需要支持多种设备,包括串口和 BLE。当我将以下代码添加到 Package.appxmanifest 文件时,出现错误

无法激活 Windows 商店应用 'blah.blah_blah!App'。激活请求失败,错误为 'E_INVALIDARG'。

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

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

我重现了你项目的错误。如果您只是添加 Bluetooth.genericAttributeProfile 或 Bluetooth.rfcom,那没问题。所以我认为错误是引用可重复性引起的,您可以按照以下步骤添加蓝牙并添加所有蓝牙服务。

在后面的代码中,可以通过var rfcommDeviceService = Windows.Devices.Bluetooth.Rfcomm.RfcommDeviceService; 添加RfcommDeviceService,通过var gattDeviceService = Windows.Devices.Bluetooth.GenericAttributeProfile.GattDeviceService;添加gattDeviceService。