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
Supporto ai tipi DateOnly e TimeOnly in Entity Framework Core
Usare lo spread operator con i collection initializer in C#
Aprire una finestra di dialogo per selezionare una directory in WPF e .NET 8
Utilizzare un service principal per accedere a Azure Container Registry
Code scanning e advanced security con Azure DevOps
Generare la software bill of material (SBOM) in GitHub
Eseguire query manipolando le liste contenute in un oggetto mappato verso una colonna JSON
Supportare lo HierarchyID di Sql Server in Entity Framework 8
Eseguire le GitHub Actions offline
Utilizzare la funzione EF.Parameter per forzare la parametrizzazione di una costante con Entity Framework
Assegnare un valore di default a un parametro di una lambda in C#
Effettuare il binding di date in Blazor