为通用 Windows 平台应用启用设备功能

本主题介绍如何在 Microsoft Visual Studio 中声明设备功能,以使用通用 Windows 平台(UWP)应用的相机、麦克风、位置传感器和其他设备。

指定应用将使用的设备功能

使用某些类型的设备时,Windows 应用会要求在应用程序包清单中指定。 在 Visual Studio 中,可以使用清单设计器声明大多数功能,也可以按照如何在程序包清单中(手动)指定设备功能中所述手动添加这些功能。 本教程假定你使用的是清单设计器。

注意

某些类型的设备不需要在应用程序包清单中声明,例如打印机、扫描仪和传感器。

  • 在“Visual Studio 解决方案资源管理器”中,双击程序包清单文件, Package.appxmanifest
  • 打开“功能”选项卡。
  • 选择应用需要的设备功能。 如果在清单设计器中看不到要查找的功能,请手动添加。 有关详细信息,请参阅如何在程序包清单中指定设备功能
设备功能 清单设计器 说明
AllJoyn Available in Manifest Designer 该功能允许网络上启用 AllJoyn 的应用和设备发现彼此并进行交互。 在 Windows.Devices.AllJoyn 命名空间中访问 API 的所有应用都必须使用此功能。
已阻止聊天消息 Available in Manifest Designer 该功能允许应用读取已由“垃圾邮件筛选器”应用阻止的短信和彩信。
聊天消息访问 Available in Manifest Designer 允许应用读取和删除短信。 它还允许应用将聊天消息存储在系统数据存储中。
代码生成 Available in Manifest Designer 允许应用动态生成代码。
企业身份验证 Available in Manifest Designer 此功能受 Microsoft Store 策略的约束。 它提供连接到需要域凭据的企业 Intranet 资源的功能。 大多数应用通常不需要此功能。
Internet (客户端) Available in Manifest Designer 提供对 Internet 及公共场所(如机场和咖啡厅)网络的出站访问。 例如,用户已将网络指定为公共的网络的 Intranet 网络。 大部分需要 Internet 访问的应用都应使用此功能。
Internet (客户端和服务器) Available in Manifest Designer 提供对 Internet 及公共场所(如机场和咖啡厅)网络的入站和出站访问。 此功能是 Internet(客户端)的超集。 如果此功能也已启用,则无需启用 Internet(客户端)。 对重要端口的入站访问始终会被阻止。
位置 Available in Manifest Designer 提供对当前位置的访问。 可从专用硬件(如电脑中或派生自可用网络信息的 GPS 传感器)获取该权限。
Microphone Available in Manifest Designer 提供对麦克风的音频种子的访问。 这允许应用从连接的麦克风录制。
音乐库 Available in Manifest Designer 提供在本地电脑和家庭组电脑音乐库中添加、更改或删除文件的功能。
对象 3D Available in Manifest Designer 提供对用户三维对象的编程访问权限,让应用无需用户交互即可枚举和访问库中的所有文件。 此功能通常用在需要访问整个 3D 对象库的 3D 应用和游戏中。
电话联络 Available in Manifest Designer 允许应用访问设备上的所有电话线路并执行以下功能:在手机上拨打电话并显示系统拨号程序,而不提示用户;访问与行相关的元数据;访问与行相关的触发器。 允许用户选择的垃圾邮件筛选器应用设置并检查阻止列表和呼叫来源信息。
图片库 Available in Manifest Designer 提供在本地电脑和家庭组电脑的图片库中添加、更改或删除文件的功能。
服务点 Available in Manifest Designer 提供对服务点外围设备的访问。 要调用 Windows.Devices.PointOfService.Provider 命名空间中的 API,则需要此功能。
专用网络(客户端和服务器) Available in Manifest Designer 提供对 intranet 网络的入站和出站访问,该网络可以是拥有一个经过身份验证的域控制器的网络,也可以是用户已指定为家庭或工作网络的网络。 对重要端口的入站访问始终会被阻止。
邻近帮助 Available in Manifest Designer 提供通过近场通信(NFC)连接到靠近电脑的设备的功能。 近距离感应可用于发送文件或与附近设备上的应用程序进行通信。
可移动存储 Available in Manifest Designer 提供在可移动存储设备上添加、更改或删除文件的功能。 应用只能访问使用 文件类型关联 声明在清单中定义的可移动存储上的文件类型。 应用无法访问家庭组电脑上的可移动存储。
共享用户证书 Available in Manifest Designer 此功能受 Microsoft Store 策略的约束。 它提供访问软件和硬件证书(例如智能卡证书)以验证用户标识的功能。 在运行时调用相关 API 时,用户必须采取操作(插入卡、选择证书等)。 如果应用通过 证书 声明包含私有证书,则不需要此功能。
用户帐户信息 Available in Manifest Designer 该功能使应用能够访问用户的名称和图片。 若要访问 Windows.System.UserProfile 命名空间中的某些 API,此功能是必需的。
视频库 Available in Manifest Designer 提供在本地电脑和家庭组电脑的视频库中添加、更改或删除文件的功能。
VOIP 呼叫 Available in Manifest Designer 该功能允许应用访问 Windows.ApplicationModel.Calls 命名空间中的 VOIP 呼叫 API。
网络摄像头 Available in Manifest Designer 提供对内置相机或附加网络摄像头视频源的访问。 这允许应用捕获快照和电影。
USB 提供对自定义 USB 设备的访问。 此功能需要子元素。 Windows 手机不支持此功能。
人体学接口设备 (HID) 提供对人机接口设备(HID)的访问。 此功能需要子元素。 了解更多信息,请参阅如何为 HID 指定设备功能
蓝牙 GATT 通过主要服务集合(包括服务、特征和描述符)提供对蓝牙 LE 设备的访问权限。 此功能需要子元素。 有关详细信息,请参阅如何为蓝牙指定设备功能
蓝牙 RFCOMM 提供对支持基本速率/扩展数据速率(BR/EDR)传输的 API 的访问权限,还允许 UWP 应用访问实现串行端口配置文件(SPP)的设备。 此功能需要子元素。 有关详细信息,请参阅如何为蓝牙指定设备功能

使用 Windows 运行时 API 与设备通信

下表将某些功能连接到 Windows 运行时 API。

设备功能 API
AllJoyn Windows.Devices.AllJoyn
已阻止聊天消息 Windows.ApplicationModel.CommunicationBlocking
位置 有关详细信息,请参阅地图和位置概述
电话联络 Windows.ApplicationModel.Calls
用户帐户信息 Windows.System.UserProfile
VOIP 呼叫 Windows.ApplicationModel.Calls
USB Windows.Devices.Usb
HID Windows.Devices.HumanInterfaceDevice
蓝牙 GATT Windows.Devices.Bluetooth.GenericAttributeProfile
蓝牙 RFCOMM Windows.Devices.Bluetooth.Rfcomm
服务点 Windows.Devices.PointOfService