Windows 10 ha portato con sé nuove API per WinRT: alcune di queste ci permettono di "accedere" alla scheda di rete, per fare la scansione delle reti WiFi disponibili e, in un secondo momento, effettuare una connessione ad una rete predeterminata.
La prima cosa che dobbiamo fare è richiedere l'autorizzazione:
var access = await WiFiAdapter.RequestAccessAsync();
Dobbiamo dichiarare questa capability attraverso il file di manifest:
<Capabilities> <DeviceCapability Name="wiFiControl" /> </Capabilities>
A questo punto, dobbiamo controllare se il consenso è stato dato dall'utente, quindi effettuiamo una scansione per recuperare tutti i WiFiAdapter presenti sul device:
if (access == WiFiAccessStatus.Allowed) { var adapters = await DeviceInformation.FindAllAsync(WiFiAdapter.GetDeviceSelector()); if (adapters.Count > 0) { // adattatori WiFi trovati } }
Una volta verificato questo e verificato che ci sia almeno un adattatore disponibile. Recuperiamo la scheda che ci interessa e facciamo una scansione delle reti disponibili:
var adapter = await WiFiAdapter.FromIdAsync(adapters[0].Id); await adapter.ScanAsync();
Dopo aver effettuato la scansione otterremo un elenco delle reti disponibili: dobbiamo selezionarne una (in questo caso la prima), recuperare l'SSID e, infine, connettersi:
var network = adapter.NetworkReport.AvailableNetworks[0]; var ssid = network.Ssid; var connectionResult = await adapter.ConnectAsync(network, WiFiReconnectionKind.Automatic);
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Permettere l'append ai file di un Azure Storage immutabile
Specificare il numero di parentesi graffe nella string interpolation in combinazione con i string literal in C#
Bloccare una pull request che arriva da branch non definiti in GitHub
Ricevere avvisi su metriche dei server Azure Arc
ChatOps con GitHub
Gestire dati sensibili nella configurazione in ASP.NET Core
Utilizzare l'API del browser fetch
Personalizzare le richieste con i rule set di Azure Front Door
Utilizzare il browser per rilevare Javascript e CSS non utilizzati nel codice
Accedere alla console di una Azure Container App
Utilizzare la parola chiave var con lambda eExpression e method group in C# 10
Ottimizzare serializzazione e deserializzaione tramite le options con System.Text.Json
I più letti di oggi
- Sfruttare la local cache del browser tramite gli ETag in #aspnetcore https://aspit.co/cfc di @crad77 #webapi #aspnetmvc #blazor #cache
- Creare un array al volo
- Ecco la roadmap di ASP.NET 5: il rilascio definitivo nel corso del primo trimestre 2016
- Scegliere Kestrel o HTTP.sys come webserver per ASP.NET Core
- Linting di un Dockerfile con un workflow di GitHub