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
Integrazione di Copilot in .NET Aspire
Supporto semplificato per le left join in Entity Framework 10
Centralizzare gli endpoint AI Foundry con Azure API Management
Blazor e Static Web Assets in .NET 10
Rendere affidabile lo scale out su Azure App Service
Testare le API di Azure Resource Manager con API Playground
Raggruppare risorse in .NET Aspire
Creare espressioni riutilizzabili nelle query LINQ per Entity Framework
Eseguire una ExecuteUpdateAsync senza usare un'expression con Entity Framework
Azure SQL Database per dev: tutte le novità da non perdere
Validazione personalizzata nelle Minimal API di ASP.NET Core
Supportare la crittografia di ASP.NET Core con Azure Container App


