共用方式為


配對裝置

本主題介紹如何使用 Windows.Devices.Enumeration 命名空間配對裝置。

重要 API

自動配對

有時候您想要在應用程式中使用裝置,但不在意裝置是否已配對。 您只想能夠使用與裝置相關聯的功能。 例如,如果您的應用程式只想從網路攝影機擷取影像,則您不一定對裝置本身感興趣,而只對影像擷取感興趣。 如果您感興趣的裝置有可用的裝置 API,此案例會落在自動配對之下。

在這種情況下,您只需使用與裝置關聯的 API,根據需要進行調用,並信任系統處理任何可能需要的配對。 有些裝置無需配對即可使用其功能。 如果裝置確實需要配對,則裝置 API 將在背景處理配對操作,因此您無需將該功能整合到您的應用程式中。 您的應用程式將不知道給定裝置是否已配對或是否需要配對,但您仍然可以存取該裝置並使用其功能。

基本配對

基本配對是在您的應用程式使用 Windows.Devices.Enumeration API 來嘗試配對裝置時。 在此案例中,您會讓 Windows 嘗試配對程式並加以處理。 如果需要任何使用者互動,Windows 就會處理它。 如果您需要與裝置配對且沒有嘗試自動配對的相關裝置 API,您將使用基本配對。 您只想能夠使用裝置,且需要先與其配對。

若要嘗試基本配對,您必須先取得您感興趣的裝置的 DeviceInformation 物件。 收到該物件之後,您將與 DeviceInformation.Pairing 屬性互動,這是 6DeviceInformationPairing 物件。 若要嘗試配對,只需呼叫 DeviceInformationPairing.PairAsync 即可。 您必須等候結果,才能讓您的應用程式有時間嘗試完成配對動作。 將會回傳配對動作的結果,只要沒有回傳錯誤,裝置就會被配對。

如果您使用基本配對,您還可以存取有關裝置配對狀態的其他資訊。 例如,您知道配對狀態 (IsPaired) 和裝置是否可以配對 (CanPair)。 這兩者都是 DeviceInformationPairing 物件的屬性。 如果您使用自動配對,除非您取得相關的 DeviceInformation 物件,否則可能無法存取此資訊。

自訂配對

自訂配對可讓您的應用程式參與配對程式。 這可讓您的應用程式指定配對程序支援的 DevicePairingKinds。 您也將負責建立自己的使用者介面,視需要與使用者互動。 當您想要讓應用程式對配對程式如何繼續或顯示您自己的配對使用者介面時,請使用自訂配對。

若要實作自訂配對,您必須取得您感興趣的裝置的 DeviceInformation 物件,就像基本配對一樣。 不過,您感興趣的特定屬性是 DeviceInformation.Pairing.Custom。 這會為您提供 DeviceInformationCustomPairing 物件。 所有 DeviceInformationCustomPairing.PairAsync 方法都需要您包含 DevicePairingKinds 參數。 這表示使用者必須採取的動作,才能嘗試配對裝置。 如需不同類型和使用者需要採取哪些動作的詳細資訊,請參閱 DevicePairingKinds 參考頁面。 就像基本配對一樣,您必須等候結果,才能讓應用程式有時間嘗試完成配對動作。 將會回傳配對動作的結果,只要沒有回傳錯誤,裝置就會被配對。

若要支援自訂配對,您必須建立 PairingRequested 事件的處理常式。 此處理常式必須確定要考慮可能用於自訂配對案例的所有不同 DevicePairingKinds。 要採取的適當動作將取決於 作為事件自變數一部分提供的 DevicePairingKinds

請務必注意,自訂配對一律是系統層級的作業。 因此,當您在桌面或 Windows Phone 上操作時,當要進行配對時,系統對話方塊將始終向使用者顯示。 這是因為這兩個平台都擁有需要使用者同意的使用者體驗。 由於該對話框會自動產生,因此當您在這些平台上操作時,選擇 DevicePairingKindsConfirmOnly 時,就不需要建立自己的對話方塊。 針對其他 DevicePairingKinds,您必須根據特定的 DevicePairingKinds 值執行一些特殊處理。 如需如何處理不同 DevicePairingKinds 值的自訂配對範例,請參閱範例。

從 Windows 10 版本 1903 開始,支援新的 DevicePairingKinds ProvidePasswordCredential。 此值表示應用程式必須向使用者要求使用者名稱和密碼,才能向配對的裝置進行驗證。 若要處理此案例,請呼叫 PairingRequested 事件處理常式事件自變數的 AcceptWithPasswordCredential 方法,以接受配對。 傳入 PasswordCredential 物件,將使用者名稱和密碼封裝為參數。 請注意,遠端裝置的使用者名稱和密碼與本地登入使用者的憑證不同,而且通常不相同。

未配對

取消裝置配對僅與上述基本或自訂配對場景相關。 如果您使用自動配對,您的應用程式將不會注意到裝置的配對狀態,並且無需取消配對。 如果您選擇取消裝置配對,則無論您實施基本配對還是自訂配對,流程都是相同的。 這是因為在取消配對過程中不需要提供額外的資訊或進行互動。

取消配對裝置的第一個步驟是取得 您想要取消配對之裝置的 DeviceInformation 物件。 然後,您需要擷取 DeviceInformation.Pairing 屬性,並呼叫 DeviceInformationPairing.UnpairAsync。 就像配對一樣,您會想要等候結果。 將會傳回取消配對操作的結果,只要沒有回傳錯誤,裝置就會被取消配對。

範例

如需運作中的範例,請參閱 GitHub 上的裝置列舉和配對範例