[WP8.1 SL] Hoe nieuwe live tile werkend krijgen?

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Avalaxy
  • Registratie: Juni 2006
  • Laatst online: 23:13
Ik heb een Windows Phone 8 app die ik recent geupgrade heb naar 8.1 Silverlight. Ik wil de nieuwe live tile templates gebruiken. Momenteel gebruik ik daar de ScheduledTaskAgent class voor die gebruik maakt van ShellTile.

Om de nieuwe live tiles te gebruiken heb ik in WMAppManifest.xml de notification service op WNS gezet. Ik heb de oude code om de backgroundtask te registreren weggehaald en deze code neergezet:

C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var backgroundAccessStatus = await BackgroundExecutionManager.RequestAccessAsync();
if (backgroundAccessStatus == BackgroundAccessStatus.AllowedMayUseActiveRealTimeConnectivity ||
    backgroundAccessStatus == BackgroundAccessStatus.AllowedWithAlwaysOnRealTimeConnectivity)
{
    foreach (var task in BackgroundTaskRegistration.AllTasks)
    {
        if (task.Value.Name == "LiveTileBackgroundTask")
        {
            task.Value.Unregister(true);
        }
    }

    BackgroundTaskBuilder taskBuilder = new BackgroundTaskBuilder();
    taskBuilder.Name = "LiveTileBackgroundTask";
    taskBuilder.TaskEntryPoint = "BackgroundTasks.LiveTileBackgroundTask";
    taskBuilder.SetTrigger(new TimeTrigger(15, false));
    var registration = taskBuilder.Register();
}


Verder heb ik een Windows Phone 8.1 Windows Runtime Component genaamd BackgroundTasks gemaakt, die een BackgroundTask bevat genaamd LiveTileBackgroundTask:

C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public sealed class LiveTileBackgroundTask : IBackgroundTask
{
    public void Run(IBackgroundTaskInstance taskInstance)
    {
        BackgroundTaskDeferral deferral = taskInstance.GetDeferral();

        const string xml = "<tile>"
                           + "<visual>"
                           +  "<binding template='TileWideText01'>"
                           +   "<text id='1'>Text Field 1 (larger text)</text>"
                           +   "<text id='2'>Text Field 2</text>"
                           +   "<text id='3'>Text Field 3</text>"
                           +   "<text id='4'>Text Field 4</text>"
                           +   "<text id='5'>Text Field 5</text>"
                           +  "</binding>  "
                           + "</visual>"
                           +"</tile>";

        XmlDocument doc = new XmlDocument();
        doc.LoadXml(xml);

        TileNotification tileNotification = new TileNotification(doc);
        TileUpdateManager.CreateTileUpdaterForApplication().Update(tileNotification);

        deferral.Complete();
    }
}


Verder heb ik een referentie naar deze assembly gemaakt in mijn WP project. Ook heb ik een Background task declaration in mijn Package.appxmanifest gemaakt die BackgroundTasks.LiveTileBackgroundTask als Entry point heeft ingesteld. Als supported task type heb ik Timer en System event aangevinkt.

Wanneer ik de app draai gebeurt er echter niets. Er komt geen live tile tevoorschijn. Als ik door de background task heen loop met de debugger krijg ik geen errors.

Acties:
  • 0 Henk 'm!

  • Avalaxy
  • Registratie: Juni 2006
  • Laatst online: 23:13
Anyone? Het lukt me trouwens ook niet om de tile te updaten in een foreground proces.

Acties:
  • 0 Henk 'm!

  • Avalaxy
  • Registratie: Juni 2006
  • Laatst online: 23:13
Any.one?

Acties:
  • 0 Henk 'm!

  • Avalaxy
  • Registratie: Juni 2006
  • Laatst online: 23:13
Nog steeds niemand? :o

Acties:
  • 0 Henk 'm!

  • Caelorum
  • Registratie: April 2005
  • Laatst online: 00:09
Ik zou je wel willen helpen, maar mijn laatste ervaring met WP was WP7 ^^ Daarna alleen nog vanaf de zijlijn gekeken als toeschouwer. Misschien nog even een verwijzing naar dit topic dumpen in Post hier je eigen Windows Phone App!?

Acties:
  • 0 Henk 'm!

  • Avalaxy
  • Registratie: Juni 2006
  • Laatst online: 23:13
Zal ik doen :P

Acties:
  • 0 Henk 'm!

  • Whatson
  • Registratie: Februari 2010
  • Niet online
Is de build order wel goed? (Eerst achtergrondtaak builden, daarna includen in main project)

Verder kun je proberen of rebuild je probleem oplost.

Edit: Misschien eerst proberen of je achtergrond taak wel werkt dmv een toast bericht.

[ Voor 23% gewijzigd door Whatson op 20-05-2014 21:40 ]


Acties:
  • 0 Henk 'm!

  • Avalaxy
  • Registratie: Juni 2006
  • Laatst online: 23:13
Ik denk dat het niet per sé aan de achtergrondtaak ligt, ik probeer de tile te updaten vanuit de code-behind van mijn MainPage, maar ook die pakt hem niet.

Even een andere template gepakt, die pakt ie wel.

Met de backgroundtask pakt ie hem nu ook ineens 8)7 Ok, ik ga verder testen...

[ Voor 33% gewijzigd door Avalaxy op 20-05-2014 22:40 ]

Pagina: 1