2011-11-02 2 views
1

salut J'ai développé une application pour Windows Phone 7 avec une mise à jour quotidienne lorsque le démarrage et la notification push sont activés. Jusqu'à présent, j'utilise 2 types de notification push en même temps (toast et tuile). depuis mon application a besoin d'une mise à jour de longue date. donc je vais devoir distinguer entre le démarrage normal (mettra à jour) et commencer à partir de la notification push (aucune mise à jour ne sera autorisée). Maintenant, je peux distinguer le toast avec une chaîne de requête. mais quand je commence à partir de la tuile je ne peux pas parce que je donnais comment obtenir le compte de la tuile de mon App. Donc, la question est "Comment puis-je obtenir le nombre de notifications de tuiles?"Lancement normal distinct avec notification push Windows Phone 7

Répondre

2

Vous pouvez interroger vos données de tuiles lorsque l'application est lancée et regarder la propriété Count, si> 0 c'est un lancement après notification.

Pour obtenir votre tuile d'application:

var tileToFind = ShellTile.ActiveTiles.First(); 
int count = tileToFind.Count; 
+0

Bonne réponse. N'oubliez pas que le nombre de tuiles représente seulement le compte quand il a été défini pour la dernière fois dans le code ou quand le serveur a envoyé un push pour la dernière fois. Par exemple, le nombre d'e-mails non lus n'est valide que tant que Hotmail indique à mon téléphone que j'ai lu tous mes messages électroniques dans le navigateur de mon bureau. Dans les 5 minutes environ entre la lecture des e-mails sur mon bureau et la mise à jour du téléphone par Hotmail, le compte sera invalide. Vous souhaiterez peut-être implémenter une méthode pour vérifier le serveur au lieu de dépendre du nombre de tuiles. –

+0

Actuellement, il n'y a pas de propriété Count pour la classe Microsoft.Phone.Shell.ShellTile. Je peux seulement accéder à la propriété "NavigationUri" et il y a la méthode Update, Delete. Est-ce un problème de mon SDK ou d'autre chose? – keoaudam

+0

Vous avez raison. Dans mon application, j'utilise un agent d'arrière-plan pour mettre à jour ma propriété Tile/Count et ainsi définir un indicateur dans une base de données locale que je demande au démarrage pour savoir s'il y a eu une notification. – MatthieuGD

Questions connexes