Le applicazioni che sono disponibili all'interno dello store stanno diventando via via sempre più complesse e richiedono sempre maggior potenza per essere eseguite.
Pensiamo ad esempio ad un commerciale che è continuamente in giro e deve inserire dei dati da caricare nel cloud: con un telefono la batteria potrebbe rappresentare un problema e, quindi, possiamo fare in modo di recuperare la percentuale di batteria rimanente per adottare politiche di upload dei nostri dati solo quando il telefono sarà sotto carica a fine giornata.
Per recuperare la percentuale di batteria rimanente nel dispositivo dobbiamo fare una chiamata a questa API:
var report = Battery.AggregateBattery.GetReport(); var percentuale = report.RemainingCapacityInMilliwattHours.Value / (double)report.FullChargeCapacityInMilliwattHours.Value;
Essendo su Windows 10, questa API è in grado di funzionare anche sui device desktop, che però non hanno la batteria. In questo caso, la chiamata riportata sopra fallirebbe e i valori riportati sarebbero tutti null, quindi è bene fare un controllo a priori se la batteria è effettivamente disponibile:
var stato = report.Status;
All'interno della proprietà Status siamo anche in grado di capire se l'eventuale batteria è in ricarica oppure no.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Aggiungere interattività lato server in Blazor 8
Reactive form tipizzati con modellazione del FormBuilder in Angular
Migrare una service connection a workload identity federation in Azure DevOps
Eseguire query manipolando le liste contenute in un oggetto mappato verso una colonna JSON
Eseguire query verso tipi non mappati in Entity Framework Core
Usare il versioning con i controller di ASP.NET Core Web API
Ottimizzare la latenza in Blazor 8 tramite InteractiveAuto render mode
Generare file per il download da Blazor WebAssembly
Ottenere il contenuto di una cartella FTP con la libreria FluentFTP
Utilizzare Model as a Service su Microsoft Azure
Usare un KeyedService di default in ASP.NET Core 8
Evitare (o ridurre) il repo-jacking sulle GitHub Actions