Live Tile update from webbrowser in background
Hallo,
ich habe hier in einer kleinen App ein LiveTile Update über die ShellTile API realisiert. Die Texte (BackContent) werden via regex aus der gespeicherten Website gezogen webBrowser/webView (VS2012). Das funktioniert soweit ganz gut.
Allerdings möchte ich das LiveTile auch gern im Hintergrund aktualisiert bekommen (Background Task, z.B. via Timer). Da der webBrowser natürlich im Hintergrund nicht aktiv ist, funktioniert das nicht so ohne weiteres. Ein Webservice scheidet auch aus, da es sich um eine fertige Webseite eines Anbieters handelt. Der webBrowser bietet hier alles was man braucht (Login Handling usw.).
Hat sowas schonmal jemand gemacht oder irgendwo einen Link auf ein Beispiel zur Hand?
Vielleicht gibt es auch einen anderen Weg das Problem zu lösen. Vielleicht lässt sich ja die mit dem webbrowser geöffnete Seite mit irgendeinem wget Äquivalent lesen.
Besten Dank und
Viele Grüße
Jörg
AW: Live Tile update from webbrowser in background
Wenn ich mich richtig erinnere, dann ist es so, dass das LiveTile nicht aktiv aktualisieren kann, dafür reicht die Zeit nicht.
Der Thread für das Aktualisieren hat nur 5 Sekunden, frag jetzt nicht ob CPU Sekunden oder Zeitsekunden, dass konnte keiner Beantworten.
Zusätzlich kommt ja noch der Intervall von 30 Minuten für das Tile.
Wenn Du das mit einem Task machen möchtest, dann in etwa so:
Code:
private async void LaunchTaskButton_Click(object sender, RoutedEventArgs e)
{
int result = await Task.Factory.StartNew<int>(() =>
// Simulate some long running work
);
MessageBox.Show("BackgroundWorker has completed, result is: " + result);
}
PS:
Der Code ist WP8 pure
AW: Live Tile update from webbrowser in background
Hallo FaceOfIngo,
Danke für die Unterstützung.
Das Kernproblem ist im Moment noch überhaupt an die Daten ranzukommen. Bislang mache ich das über den Webbrowser. Die Seite wird angezeigt und die Daten mittels indexof und regex extrahiert.
Allerdings weiß ich jetzt nicht, ob/wie ich den Webbrowser im Hintergrund verwenden kann. Er braucht zwar in diesem Fall nicht angezeigt werden, aber ich muss dann trotzdem periodisch an die Webseite.
THX und Viele Grüße
Jörg
Sent from my RM-821_eu_euro2_248 using Board Express
AW: Live Tile update from webbrowser in background
Wieso machst du dafür nicht einfach einen WebRequest?
AW: Live Tile update from webbrowser in background
Danke für das Stichwort, bringt mich erstmal weiter.
Bin halt irgendwie noch längst nicht bei den WP-Basics angekommen....
THX Jörg
AW: Live Tile update from webbrowser in background
Habe jetzt einen Tag versenkt und kann mittels HttpWebRequest Webseiten lesen und den Inhalt auswerten.
Leider bringt mich das in meinem Projekt nicht viel weiter, da das vorhandene (Auto-)Login System der Website mit Cookies arbeitet und ich den Gebrauch mittels WebRequest nicht auf die Reihe kriege.
Gibt es irgendwo ein Demo-Projekt (C#), wo sowas schonmal gemacht wurde?
Viele Grüße
Jörg
AW: Live Tile update from webbrowser in background
Schau mal im die folgenden Links:
Windows Phone Dev Center
<myApp/>
Nokia Developer
Dort solltest Du was finden. ;)
Das Problem ist, dass Du Informationen einer "geschützten Seite" holen möchtest, dafür musst Du das Login (LoginName, Paswort) mitgeben, das Ergebnis abwarten und dann deine Daten holen.
Dir URL für so was könnte in etwa so aussehen: http(s)://www.DeineURL.abc/CommandDerDasLoginAuswertet?UserName=DeinLoginName&Passwort=DeinPasswort
Beim Passwort ist die Frage, ob es reicht dies in Klartext zu übermitteln, oder Verschlüsselt - dafür müsstest Du die Verschlüsselungsmethode kennen. Das Einfachste wäre, ein BrowserPopup mit der Loginseite und anschließender Übergabe der Session.
Aber das wird wahrscheinlich den Rahmen hier sprengen.
AW: Live Tile update from webbrowser in background
Erstmal vielen Dank, ich komme erst im Laufe der Woche dazu, an dem Projekt weiterzumachen.
Melde mich dann mit hoffentlich Fortschritten....
AW: Live Tile update from webbrowser in background
Frage doch mal bei dem seitenbetreiber an ob es eine API gibt, die du ansprechen bzw. nutzen kannst, dann wäre es leichter für dich.
Evtl. kann es auch sein, das es garnicht erwünscht ist, den seiteninhalt für eine App abzufragen, würde es vorher abklären.
Das habe ich mit mobiflip auch gemacht, meistens gibt es keine Probleme.
Mit der kostenlosen
PocketPC.ch App von meinem RM-821_eu_euro2_248 aus geschrieben.