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
Utilizzare l nesting nativo dei CSS
Loggare le query più lente con Entity Framework
Ricevere notifiche sui test con Azure Load Testing
Managed deployment strategy in Azure DevOps
Gestire progetti .NET + React in .NET Aspire
Rendere le variabili read-only in una pipeline di Azure DevOps
Centralizzare gli endpoint AI Foundry con Azure API Management
Utilizzare i variable font nel CSS
Self-healing degli unit test con Copilot in GitHub
Gestione opzioni colonna nella Blazor QuickGrid
Utilizzare i command service nei test con .NET Aspire
Abilitare automaticamente il force push di un gruppo su Azure DevOps
I più letti di oggi
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Esaminare documenti XML con namespace utilizzando LINQ to XML
- Le DirectInk API nella Universal Windows Platform
- Effetto turnstile su tutte le pagine con il Windows Phone Toolkit
- Sfruttare una CDN con i bundle di ASP.NET
- Gli oggetti CallOut di Expression Blend 4.0


