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
Hosting di componenti WebAssembly in un'applicazione Blazor static
Effettuare il binding di date in Blazor
Testare l'invio dei messaggi con Event Hubs Data Explorer
Reactive form tipizzati con modellazione del FormBuilder in Angular
Autenticarsi in modo sicuro su Azure tramite GitHub Actions
Eseguire attività con Azure Container Jobs
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework
Creare un'applicazione React e configurare Tailwind CSS
Utilizzare Tailwind CSS all'interno di React: installazione
Evitare il flickering dei componenti nel prerender di Blazor 8
Installare le Web App site extension tramite una pipeline di Azure DevOps
Creare una custom property in GitHub