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
Le novità di Entity Framework (Core) 7
Monitorare metriche delle risorse Azure con Load Testing
Utilizzare parametri a livello di controller nel routing di ASP.NET Core
Sfruttare il portale Azure per creare script di automazione
Migrare un repository git da Azure DevOps a GitHub
Test reporting in un workflow di GitHub
Impostare il tema light o dark utilizzando i CSS
Effettuare update massivi con Entity Framework Core 7
Migrare un progetto ASP.NET Core da .NET 6 a .NET 7
Abilitare automaticamente Dependabot in tutti i repository di una organizzazione su GitHub
Gestire server e pc on premise con Azure Arc
YARP: un reverse proxy in ASP.NET Core