Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo argomento descrive come associare i dispositivi utilizzando lo spazio dei nomi Windows.Devices.Enumeration.
- APIimportanti:Windows. Devices.Enumeration
Associazione automatica
A volte si vuole usare un dispositivo nell'applicazione, ma non importa se il dispositivo è associato o meno. Vuoi semplicemente essere in grado di usare la funzionalità associata a un dispositivo. Ad esempio, se la tua app vuole semplicemente acquisire un'immagine da una webcam, non sei necessariamente interessato al dispositivo stesso, solo l'acquisizione di immagini. Se sono disponibili API del dispositivo per il dispositivo a cui si è interessati, questo scenario rientra nell'associazione automatica.
In questo caso, si usano semplicemente le API associate al dispositivo, effettuando le chiamate in base alle esigenze e considerando attendibile il sistema per gestire qualsiasi associazione che potrebbe essere necessaria. Alcuni dispositivi non devono essere associati per poter usare le relative funzionalità. Se il dispositivo deve essere associato, le API del dispositivo gestiranno l'azione di associazione in background, quindi non è necessario integrare tale funzionalità nell'app. L'app non avrà alcuna conoscenza se un determinato dispositivo è associato o deve essere, ma sarà comunque possibile accedere al dispositivo e usarlo.
Abbinamento di base
L'associazione di base è quando l'applicazione usa il Windows. Devices.Enumeration API per tentare di associare il dispositivo. In questo scenario, si lascia che Windows tenti il processo di associazione e lo gestisca. Se è necessaria un'interazione dell'utente, verrà gestita da Windows. È consigliabile usare l'associazione di base se è necessario associare un dispositivo e non esiste un'API del dispositivo pertinente che tenterà l'associazione automatica. Si vuole solo essere in grado di usare il dispositivo ed è necessario associarlo per primo.
Per tentare l'associazione di base, devi prima ottenere l'oggetto DeviceInformation per il dispositivo a cui sei interessato. Dopo aver ricevuto l'oggetto, interagirai con la proprietà DeviceInformation.Pairing , ovvero un oggetto DeviceInformationPairing . Per tentare di associare, chiama semplicemente DeviceInformationPairing.PairAsync. Dovrai attendere il risultato per dare alla tua app il tempo necessario per tentare di completare l'azione di associazione. Il risultato dell'azione di associazione verrà restituito e, purché non vengano restituiti errori, il dispositivo verrà associato.
Se si usa l'associazione di base, è anche possibile accedere a informazioni aggiuntive sullo stato di associazione del dispositivo. Ad esempio, si conosce lo stato di associazione (IsPaired) e se il dispositivo può associare (CanPair). Entrambe sono proprietà dell'oggetto DeviceInformationPairing . Se usi l'associazione automatica, potresti non avere accesso a queste informazioni a meno che non ottenga gli oggetti DeviceInformation pertinenti.
Abbinamento personalizzato
L'associazione personalizzata consente all'app di partecipare al processo di associazione. Ciò consente all'app di specificare quali DevicePairingKinds sono supportati per il processo di associazione. Sarà anche responsabile della creazione di un'interfaccia utente personalizzata per interagire con l'utente in base alle esigenze. Usa l'associazione personalizzata quando vuoi che l'app abbia un'influenza maggiore su come procede il processo di associazione o per visualizzare la tua interfaccia utente di associazione.
Per implementare l'associazione personalizzata, dovrai ottenere l'oggetto DeviceInformation per il dispositivo a cui sei interessato, proprio come per l'associazione di base. Tuttavia, la proprietà specifica a cui si è interessati è DeviceInformation.Pairing.Custom. In questo modo verrà restituito un oggetto DeviceInformationCustomPairing. Tutti i metodi DeviceInformationCustomPairing.PairAsync richiedono di includere un parametro DevicePairingKinds. Indica le azioni che l'utente dovrà eseguire per tentare di associare il dispositivo. Per altre informazioni sui diversi tipi e sulle azioni che l'utente dovrà eseguire, vedere la pagina di riferimento di DevicePairingKinds . Proprio come con l'associazione di base, dovrai attendere il risultato per dare alla tua app il tempo necessario per tentare di completare l'azione di associazione. Il risultato dell'azione di associazione verrà restituito e, purché non vengano restituiti errori, il dispositivo verrà associato.
Per supportare l'associazione personalizzata, è necessario creare un gestore per l'evento PairingRequested . Questo gestore deve assicurarsi di tenere conto di tutti i diversi DevicePairingKinds che potrebbero essere usati in uno scenario di associazione personalizzato. L'azione appropriata da intraprendere dipenderà dai devicePairingKinds forniti come parte degli argomenti dell'evento.
È importante tenere presente che l'associazione personalizzata è sempre un'operazione a livello di sistema. Per questo motivo, quando si opera su Desktop o Windows Telefono, viene sempre visualizzata una finestra di dialogo di sistema all'utente quando si esegue l'associazione. Ciò è dovuto al fatto che entrambe le piattaforme posse un'esperienza utente che richiede il consenso dell'utente. Poiché tale finestra di dialogo viene generata automaticamente, non è necessario creare un dialogo personalizzato quando si sceglie un DevicePairingKinds di ConfirmOnly quando si opera su queste piattaforme. Per gli altri DevicePairingKinds, dovrai eseguire una gestione speciale a seconda del valore specifico di DevicePairingKinds . Vedi l'esempio per esempi di come gestire l'associazione personalizzata per diversi valori di DevicePairingKinds .
A partire da Windows 10, versione 1903, è supportata una nuova DevicePairingKinds, ProvidePasswordCredential. Questo valore significa che l'app deve richiedere un nome utente e una password all'utente per eseguire l'autenticazione con il dispositivo associato. Per gestire questo caso, chiamare il metodo AcceptWithPasswordCredential degli argomenti dell'evento del gestore eventi PairingRequested per accettare l'associazione. Passare un oggetto PasswordCredential che incapsula il nome utente e la password come parametro. Si noti che il nome utente e la password per il dispositivo remoto sono distinti da e spesso non corrispondono alle credenziali per l'utente connesso in locale.
Disassociazione
L'annullamento dell'associazione di un dispositivo è rilevante solo negli scenari di associazione di base o personalizzati descritti in precedenza. Se si usa l'associazione automatica, l'app rimane obliviosa allo stato di associazione del dispositivo e non è necessario annullare l'associazione. Se si sceglie di annullare l'associazione di un dispositivo, il processo è identico se si implementa un'associazione di base o personalizzata. Ciò è dovuto al fatto che non è necessario fornire informazioni aggiuntive né interagire durante il processo di disassociazione.
Il primo passaggio per annullare l'associazione di un dispositivo consiste nell'ottenere l'oggetto DeviceInformation per il dispositivo che vuoi annullare l'associazione. È quindi necessario recuperare la proprietà DeviceInformation.Pairing e chiamare DeviceInformationPairing.UnpairAsync. Come per l'associazione, dovrai attendere il risultato. Il risultato dell'azione di disassociazione verrà restituito e, se non vengono restituiti errori, il dispositivo verrà disassociato.
Esempio
Per un esempio funzionante, vedere l'esempio di enumerazione e associazione dei dispositivi su GitHub.