為通用 Windows 平台應用程式啟用裝置功能
本主題說明如何在 Microsoft Visual Studio 中宣告裝置功能,以便為通用 Windows 平台 (UWP) 應用程式使用相機、麥克風、位置感應器和其他裝置。
指定您的應用程式將使用的裝置功能
當您使用某些類型的裝置時,Windows 應用程式會要求您在應用程式套件資訊清單中指定。 在 Visual Studio 中,可以使用資訊清單設計工具宣告大多數功能,也可以手動新增它們,就如同如何在套件資訊清單中指定裝置功能 (手動) 所述。 本教學課程假設您使用資訊清單設計工具。
注意
某些類型的裝置 (例如印表機、掃描器和感應器) 不需要在應用程式套件資訊清單中宣告。
- 在 Visual Studio 方案總管中,請按兩下套件資訊清單檔案 Package.appxmanifest。
- 開啟功能索引標籤。
- 選擇您的應用程式使用的裝置功能。 如果您在資訊清單設計工具中沒有看到所需的功能,請手動新增。 如需詳細資訊,請參閱如何在套件資訊清單中指定裝置功能。
裝置功能 | 資訊清單設計工具 | 描述 |
---|---|---|
AllJoyn | 可讓網路上啟用 AllJoyn 的應用程式和裝置相互發現並互動。 存取 Windows.Devices.AllJoyn 命名空間中 API 的應用程式必須使用此功能。 | |
已封鎖聊天訊息 | 可讓應用程式讀取已被垃圾郵件篩選器應用程式封鎖的簡訊和多媒體簡訊。 | |
聊天訊息存取 | 可讓應用程式讀取和刪除文字簡訊。 它還可讓應用程式將聊天訊息儲存在系統資料存放區中。 | |
程式碼產生 | 可讓應用程式動態產生程式碼。 | |
企業驗證 | 此功能受 Microsoft Store 原則的約束。 它提供連接到需要網域認證的企業內部網路資源的功能。 大多數應用程式通常不需要此功能。 | |
網際網路 (用戶端) | 提供對網際網路以及機場和咖啡廳等公共場所網路的輸出存取權。 例如,使用者已將網路指定為公共網路的內部網路。 大部分需要網際網路存取的應用程式都應使用該功能。 | |
網際網路 (用戶端和伺服器) | 提供對網際網路以及機場和咖啡廳等公共場所網路的輸入和輸出存取。 此功能是網際網路 (用戶端) 的超集。 如果也啟用了此功能,則無需啟用 Internet (用戶端)。 一律封鎖對重要連接埠的輸入存取。 | |
Location | 提供目前位置的存取。 這是從專用硬體 (例如 PC 中的 GPS 感應器) 取得的,或從可用的網路資訊中取得。 | |
麥克風 | 提供麥克風音訊摘要的存取。 這可讓應用程式從連接的麥克風進行錄製。 | |
音樂媒體櫃 | 提供在本機電腦和 HomeGroup 電腦的音樂庫中新增、變更或刪除檔案的功能。 | |
物件 3D | 提供對使用者 3D 物件的程序化存取,可讓應用程式列舉及存取媒體櫃中的所有檔案,而無需使用者互動。 此功能通常用於需要存取整個 3D 物件庫的 3D 應用程式和遊戲。 | |
通話 | 可讓應用程式存取裝置上的所有電話線路,並執行以下功能:在手機上撥打電話並顯示系統撥號程序,而不提示使用者; 存取與線路相關的中繼資料; 存取線路相關的觸發程序。 可讓使用者選擇的垃圾郵件篩選器應用程式設定和檢查封鎖清單和呼叫來源資訊。 | |
圖片媒體櫃 | 提供在本機電腦和 HomeGroup 電腦的圖庫中新增、變更或刪除檔案的功能。 | |
服務點 | 提供服務點周邊的存取權。 需要具備這個功能,才能存取 Windows.Devices.PointOfService.Provider 命名空間中的 API。 | |
私人網路 (用戶端 & 伺服器) | 對於具有經過驗證的網域控制站或使用者指定為家用或工作場所網路的內部網路,提供輸入和輸出存取。 一律封鎖對重要連接埠的輸入存取。 | |
接近 | 提供透過近場通訊 (NFC) 連線到靠近電腦之裝置的功能。 近場接近可用於傳送檔案,或與附近裝置上的應用程式進行通訊。 | |
卸除式存放裝置 | 提供在抽取式存放裝置上新增、變更或刪除檔案的功能。 應用程式只能存取使用檔案類型關聯宣告在清單中定義的抽取式存放裝置上的檔案類型。 該應用程式無法存取 HomeGroup 電腦上的抽取式存放裝置。 | |
共用使用者憑證 | 此功能受 Microsoft Store 原則的約束。 它提供存取軟體和硬體憑證 (例如智慧卡憑證) 的功能,以驗證使用者的身分識別。 當執行階段叫用相關 API 時,使用者必須採取動作 (插入卡片、選取憑證等)。 如果您的應用程式透過憑證宣告包含私人憑證,則不需要此功能。 | |
使用者帳戶資訊 | 使應用程式能夠存取使用者的名稱和圖片。 需要具備這項功能,才能存取 Windows.System.UserProfile 命名空間中的某些 API。 | |
影片媒體櫃 | 提供在本機電腦和 HomeGroup 電腦的圖庫中新增、變更或刪除檔案的功能。 | |
VOIP 通話 | 可讓應用程式存取 Windows.ApplicationModel.Calls 命名空間中的 VOIP 通話 API。 | |
網路攝影機 | 提供對內建相機或連接網路攝影機視訊來源的存取權。 這可讓應用程式擷取快照和電影。 | |
USB | 提供對自訂 USB 裝置的存取權。 這項功能需要子專案。 Windows Phone 不支援此功能。 | |
人性化介面裝置 (HID) | 提供對人性化介面裝置 (HID) 的存取權。 這項功能需要子專案。 有關詳細資訊,請參閱如何指定 HID 裝置功能。 | |
Bluetooth GATT | 透過一系列主要服務 (包括服務、特性和描述項) 提供對藍牙 LE 裝置的存取權。 這項功能需要子專案。 有關詳細資訊,請參閱如何指定藍牙裝置功能。 | |
藍牙 RFCOMM | 提供對支援基本速率/擴充資料速率 (BR/EDR) 傳輸的 API 的存取權,還可讓您的 UWP 應用程式存取實作序列埠設定檔 (SPP) 的裝置。 這項功能需要子專案。 有關詳細資訊,請參閱如何指定藍牙裝置功能。 |
使用 Windows 執行階段 API 與您的裝置進行通訊
下表將一些功能與 Windows 執行階段 API 連接起來。
裝置功能 | API |
---|---|
AllJoyn | Windows.Devices.AllJoyn |
已封鎖聊天訊息 | Windows.ApplicationModel.CommunicationBlocking |
Location | 如需詳細資訊,請參閱地圖和位置概觀。 |
通話 | Windows.ApplicationModel.Calls |
使用者帳戶資訊 | Windows.System.UserProfile |
VOIP 通話 | Windows.ApplicationModel.Calls |
USB | Windows.Devices.Usb |
HID | Windows.Devices.HumanInterfaceDevice |
Bluetooth GATT | Windows.Devices.Bluetooth.GenericAttributeProfile |
藍牙 RFCOMM | Windows.Devices.Bluetooth.Rfcomm |
服務點 | Windows.Devices.PointOfService |