如何在包清单中指定设备功能

注意

有关Windows 10,请参阅该Windows 10。

 

若要声明应用所需的每个Windows 运行时功能,请向包清单添加 DeviceCapability 元素和适用的子元素。

重要

某些设备功能必须手动指定。 例如,必须使用 XML (文本) 编辑器为 USB、人机接口设备 (HID) 、服务点 (POS) 、蓝牙 GATT 和 蓝牙 RFCOMM API 指定设备功能。

 

步骤 1:

打开 Package.appxmanifest 文件。 在Microsoft Visual Studio编辑器中,使用 XML 文本 (编辑器) 文件。 为此,请在"解决方案资源管理器"中右键单击该文件,然后单击"打开方式"。 然后选择" XML (文本) 编辑器", 然后单击"确定 "

步骤 2:

每个设备 功能添加一个 DeviceCapability 元素。 可以在 Capabilities 元素中具有多个 DeviceCapabilityCapability 元素,但所有 DeviceCapability 元素都必须在 Capability 元素之后。 请注意,某些设备功能需要多个子元素。 有关详细信息,请参阅 DeviceCapability

注意

并非所有 API 都可用于 UWP 应用和 Windows 8.x 电话 应用。 有关每个 API 支持哪些设备的更多详细信息,请参阅 API 参考文档。

 

网络摄像头示例

下面是网络摄像头设备 功能 的示例。 此设备功能不需要子元素。 有关如何使用网络摄像头的示例,请参阅 如何录制音频或视频

<Capabilities>
  <Capability Name="internetClient"/>
  <Capability Name="musicLibrary"/>
  <Capability Name="videosLibrary"/>
  <DeviceCapability Name="microphone"/>
  <DeviceCapability Name="webcam"/>
</Capabilities>

USB 示例

usb 设备功能允许访问 Windows 中的 API。Devices.Usb 命名空间。 有关详细信息,请参阅 更新 USB 设备的应用清单包

<DeviceCapability Name="usb">
    <Device Id="vidpid:xxxx xxxx">
      <Function Type="classId:xx xx xx"/>
      <Function Type="name:xxxxx"/>
      <Function Type="winUsbId:xxxxx"/>
    </Device>
</DeviceCapability>

人机接口设备 (HID) 示例

使用 humaninterfacedevice 设备功能可以访问 Windows。Devices.HumanInterfaceDevice 命名空间。 此示例中, 功能允许访问特定函数的任何设备。 有关详细信息,请参阅如何为 HID 指定设备功能

<DeviceCapability Name="humaninterfacedevice">
    <Device Id="any">
      <Function Type="usage:xxxx xxxx"/>
    </Device>
</DeviceCapability>

服务点 (POS) 示例

pointOfService 设备功能允许访问 Windows.Devices.PointOfService 命名空间中的 API。 此设备功能不需要子元素。

<Capabilities>
  <DeviceCapability Name="pointOfService"/>
</Capabilities>

蓝牙 GATT 示例

bluetooth.genericAttributeProfile 设备功能允许访问 Windows。设备。蓝牙。GenericAttributeProfile 命名空间。 此示例中, 功能允许访问特定函数的任何设备。 有关详细信息,请参阅如何为蓝牙指定设备功能

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

蓝牙 RFCOMM 示例

bluetooth.rfcomm 设备功能允许访问 Windows。设备。蓝牙。Rfcomm 命名空间。 此示例中, 功能允许访问特定函数的任何设备。 有关详细信息,请参阅如何为蓝牙指定设备功能

  <Capabilities>
    <m2:DeviceCapability Name="bluetooth.rfcomm">
      <m2:Device Id="any">
        <m2:Function Type="serviceId:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"/>
      </m2:Device>
    </m2:DeviceCapability>
  </Capabilities>

设备、传感器和电源

DeviceCapability 元素参考

应用功能声明