Windows Phone 7 permette l'esecuzione in foreground di una sola applicazione di terze parti, garantendo prestazioni e memoria sufficiente per il suo funzionamento. Nel momento poi in cui si passa ad un'altra applicazione o si riceve una chiamata, l'applicazione subisce il processo di tombstoning e viene di fatto terminata.
Questo processo subentra però in un'altra situazione: all'attivazione del lock screen. Il dispositivo, infatti, può essere bloccato volontariamente o dopo un certo periodo di inattività da parte dell'utente, proteggendolo da consumi o attività dell'applicativo a lui sconosciute.
Per evitare questo è possibile sfruttare la proprietà PhoneApplicationService.ApplicationIdleDetectionMode che, se impostata a Disabled, permette all'applicazione di funzionare anche con il lock screen attivo. Ecco un semplice esempio:
if (MessageBox.Show("Vuoi mantenere attiva l'applicazione anche con il lock screen?", "", MessageBoxButton.OKCancel) == MessageBoxResult.OK) { PhoneApplicationService.Current.ApplicationIdleDetectionMode = IdleDetectionMode.Disabled; }
Poiché attivando questa modalità l'applicazione è funzionante, all'insaputa dell'utente, è necessario informarlo e chiedere il consenso. Inoltre, è opportuno disattivare animazioni, timer e limitare l'uso di sensori non necessari all'attività, in modo da ridurre al minimo i consumi. Per sapere se i lockscreen è attivo o meno, è possibile fare ricorso agli eventi Obscured e Unobscured del PhoneApplicationFrame principale.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
.NET Conference Italia 2023
Gestire errori funzionali tramite exception in ASP.NET Core Web API
Utilizzare la versione generica di EntityTypeConfiguration in Entity Framework Core
Usare le collection expression per inizializzare una lista di oggetti in C#
Utilizzare i primary constructor di C# per inizializzare le proprietà
Configurare policy CORS in Azure Container Apps
Generare token per autenicarsi sulle API di GitHub
Load test di ASP.NET Core con k6
Le novità di Angular: i miglioramenti alla CLI
Disabilitare automaticamente un workflow di GitHub
Utilizzare Tailwind CSS all'interno di React: installazione
Gestire undefined e partial nelle reactive forms di Angular