Nello script #79 abbiamo visto come sia possibile conoscere i device collegati grazie alla classe DeviceInformation e al metodo FindAllAsync.
DeviceInformation espone anche il metodo CreateWatcher, con il quale possiamo creare un oggetto DeviceWatcher e conoscere quando una periferica viene collegata o rimossa.
DeviceWatcher per questo espone gli eventi Added, Removed e EnumerationCompleted che scattano rispettivamente all'aggiunta, rimozione e completamento dell'enumerazione di tutte.
DeviceWatcher si mette in ascolto dopo l'invocazione del metodo Start.
var log = new StringBuilder(); DeviceWatcher watcher = DeviceInformation.CreateWatcher(DeviceClass.PortableStorageDevice); watcher.EnumerationCompleted += async (DeviceWatcher obj, object args) => { log.AppendLine("EnumerationCompleted"); await Log(log); }; watcher.Added += async (DeviceWatcher obj, DeviceInformation args) => { log.AppendLine("Added "+args.Id); foreach (var prop in args.Properties) { log.AppendFormat(" Propertiey Key {0} Value {1} {2}", prop.Key, prop.Value, Environment.NewLine); } await Log(log); }; watcher.Removed += async (DeviceWatcher obj, DeviceInformationUpdate args) => { log.AppendLine("Removed " + args.Id); foreach (var prop in args.Properties) { log.AppendFormat(" Propertiey Key {0} Value {1} {2}", prop.Key, prop.Value, Environment.NewLine); } await Log(log); }; watcher.Start();

Come possiamo vedere nell'esempio, il metodo CreateWatcher può accettare come parametro l'enum DeviceClass con cui mettersi in ascolto solo per specifiche famiglie di device.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Gestione dei nomi con le regole @layer in CSS
Migliorare l'organizzazione delle risorse con Azure Policy
Generare la software bill of material (SBOM) in GitHub
Ottenere un token di accesso per una GitHub App
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Recuperare App Service cancellati su Azure
Applicare un filtro per recuperare alcune issue di GitHub
Generare velocemente pagine CRUD in Blazor con QuickGrid
Gestione dell'annidamento delle regole dei layer in CSS
Introduzione alle Container Queries
Gestire i dati con Azure Cosmos DB Data Explorer
I più letti di oggi
- Migliorare i tempi di risposta di GPT tramite lo streaming endpoint in ASP.NET Core
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Gli oggetti CallOut di Expression Blend 4.0
- .NET Core 3, C#8 and beyond
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!