WinRT: Live Tiles con Background Tasks

Los live tiles como todos sabemos, nos permiten ver contenido de una app de WinRT sin necesidad de abrir dicha app.

Hay varias formas de obtener contenido para los live tiles de tu app.

Una de ellas es a través de Background Tasks.

En este video, te mostraré cómo lograr lo anterior en menos de 20 minutos.

image

Veremos cómo tenemos que crear un proyecto aparte de tipo WinRT Component para exponer la funcionalidad de nuestra tarea en background, que en este caso no es más que usar la clase SyndicationClient para descargar el RSS en este caso de mi blog: https://warnov.com/\@BlogRSS

Este RSS traerá los últimos títulos de los posts de mi blog y los expondrá como contenido para el live tile de una app que para este ejemplo, es una app vacía.

Un tema importante es declarar un objeto deferral para que Windows no termine nuestra tarea en segundo plano cuando ésta se encuentre ejecutando operaciones asíncronas. Muchas de las fallas que he visto en los updates de los tiles con Background Tasks, obedecen a la falta de declaración de este objeto.

Luego, basta con referenciar el assembly de nuestra tarea dentro de la app en la que deseamos los live tiles. Ajustamos el manifest declarando que usaremos una Background Task, y especificamos las imágenes para los tiles.

Se registra la tarea en el inicio de la app y listos para el debugging.

El debugging de tiles es especial porque éstos corren en un assembly distinto al de la app. Por lo que es necesario usar Location Debugging. Esto lo vemos de manera más precisa en el video.

Enjoy!