如何从磁贴通知中获取号码
本文关键字:获取 号码 通知 | 更新日期: 2023-09-27 18:29:11
当我得到任何推送消息时,当我得到多个推送消息(所以在任何情况下),这个方法总是显示"1"。
private void Application_Activated(object sender, ActivatedEventArgs e)
{
List<ShellTile> pinnedtiles = ShellTile.ActiveTiles.ToList();
MessageBox.Show(pinnedtiles.Count().ToString());
}
我是如何测试的:我启动我的应用程序,比我进入后台,发送一些推送消息,新消息的数量不止一条,比我激活我的应用软件,在消息框中我得到了相同的数字-1(但在Tile图标上我有更多)
当我第一次启动我的应用程序时,在我收到任何推送消息之前,我会得到相同的结果(1)
我做错了什么?
更新:
在这篇文章中,它起作用:
独特的正常启动推送通知Windows Phone 7
更新:没有Count属性:
MessageBox.Show(ShellTile.ActiveTiles.First().Count.ToString());
更新:有其他方法可以从Tile获得计数吗?
ShellTile不允许您读取值只是为了更新它们(使用update方法)。正如上面评论中有人建议的那样,我会让你的应用程序成为数据源,而不是试图从外壳中读取数据。
我会这样做:
ViewModel-在应用程序退出/卸载时保存到隔离存储:
public int OutstandingNotification{ get; set;}
背景基于通知更新实时互动程序的任务:
tile.Update(new StandardTileData { Count = App.ViewModel.OutstandingNotification}
应用程序加载-从独立存储加载ViewModel并显示值:
MessageBox.Show(App.ViewModel.OutstandingNotification.ToString());