Tra le novità interessanti presenti in Windows Phone 8 vi è senza dubbio la possibilità, da parte dell'utente, di dare ad un'applicazione l'autorizzazione a cambiare l'immagine del lock screen. Il sistema fornisce, preinstallato, la possibilità di visualizzare le immagini giornaliere di Bing o di sfogliare automaticamente le proprie immagini. L'utente, però, può installare altre applicazioni che possono implementare questa funzionalità e impostare in qualsiasi momento l'immagine, che dev'essere della dimensione di 768x1280 se supportiamo tutte le risoluzioni, da mostrare nel lock screen.
Per supportare questa caratteristica nella nostra applicazione dobbiamo innanzitutto dichiararlo nel file WMAppManifest.xml, così l'utente potrà selezionarlo all'interno delle impostazioni del lock screen.
<Extensions> <Extension ExtensionName="LockScreen_Background" ConsumerID="{111DFF24-AA15-4A96-8006-2BFF8122084F}" TaskID="_default" /> </Extensions>
Configurare l'estensione significa che l'utente può scegliere la nostra applicazione, ma non è detto che l'abbia fatto. Per questo motivo all'interno della nostra applicazione, quando lo riteniamo necessario, per esempio perché l'utente sceglie un'immagine, possiamo esplicitamente chiedere all'utente di autorizzare la nostra applicazione. Lo snippet seguente mostra come possiamo controllare lo stato ed eventualmente chiedere il permesso.
using Windows.Phone.System.UserProfile; // omissis LockScreenRequestResult r = LockScreenRequestResult.Granted; // Richiedo l'accesso se non sono il provider if (!LockScreenManager.IsProvidedByCurrentApplication) { r = await LockScreenManager.RequestAccessAsync(); }
Poiché l'utente può scegliere la nostra applicazione, ma essa non è detto che sia stata eseguita, è opportuno inserire nell'applicazione un'immagine di riferimento che deve avere obbligatoriamente il nome DefaultLockScreen.jpg.
Ottenuto il permesso possiamo in qualsiasi momento utilizzare il metodo SetImageUri della classe LockScreen. Appartiene al nuovo set di API WinRT e richiede un URI locale che sfrutti gli schema ms-appx e ms-appdata; essi permettono di far riferimento ad un file nel pacchetto o nel storage locale dell'applicazione. Questi schema sono gli stessi delle Windows Store app e sono l'evoluzione del isostore che si utilizza in Windows Phone 7.x. Nello snippet seguente è mostrato come impostare l'immagine contenuta nel pacchetto dell'applicazione.
// Imposto l'immagine solo se sono autorizzato if (r == LockScreenRequestResult.Granted) { LockScreen.SetImageUri(new Uri("ms-appx:///Assets/Immagine.jpg"); }
Come possiamo vedere, impostare l'immagine è piuttosto semplice. Avere il permesso dell'utente, inoltre, significa che possiamo cambiare l'immagine da un background task. Se quest'ultima proviene da internet, è sufficiente scaricarla e memorizzarla nello storage attraverso le nuove API di Windows.Storage. Dobbiamo infine considerare, che le immagini non devono necessariamente essere fotografie, ma possono essere anche collage o generate dinamiche dall'applicazione, lato client o server.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare WhenEach per processare i risultati di una lista di task
Utilizzare Intersect e Except per filtrare set di dati in TSql
Utilizzare Hybrid Cache in .NET 9
Abilitare automaticamente il force push di un gruppo su Azure DevOps
Utilizzare il metodo ExceptBy per eseguire operazione di sottrazione tra liste
Recuperare App Service cancellati su Azure
Configurare automaticamente un webhook in Azure DevOps
Introduzione alle Container Queries
Eseguire script pre e post esecuzione di un workflow di GitHub
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
Gestire i dati con Azure Cosmos DB Data Explorer
Gestione degli eventi nei Web component HTML
I più letti di oggi
- Community Night@Basta!Italia on tour 2009 - Milano
- Windows Phone 7.1 Mango: ecco i tool in beta
- Speciale Razor: il nuovo view engine di WebMatrix e ASP.NET MVC
- Disponibile l'SDK per Windows Phone 7.8
- SQL Server 2005 in beta 2
- Codifica all'avanguardia con .NET MAUI: Scopri le potenzialità di sviluppo multi-piattaforma
- Utilizzare WebAssembly con .NET, ovunque
- Gestire la configurazione di ASP.NET Core su più ambienti
- Calcolare il resto di una divisione
- Segnala questa pagina ad un amico