【发布时间】:2012-08-03 16:44:10
【问题描述】:
在我的 Windows 8 应用程序中,我一直在尝试在通知磁贴中包含 Web 图像。但它不起作用 - 我的通知没有出现。
如果我转到控制面板->管理工具->事件查看器->应用程序和服务日志->Microsoft->Windows->应用程序->Microsoft-Windows-TWinUI/Operational,我可以看到我的所有通知失败的。事件视图中的错误信息真的很无用:“处理磁贴通知失败”。
如果我使用本地图像,我的磁贴通知会正常工作并与图像和文本一起显示:
var wideContent = TileContentFactory.CreateTileWideSmallImageAndText03();
wideContent.TextBodyWrap.Text = "Some text";
wideContent.Image.Src = "ms-appx:///assets/myLocalImage.gif";
wideContent.RequireSquareContent = false;
var notification = wideContent.CreateNotification();
TileUpdateManager.CreateTileUpdaterForApplication().Update( notification );
如果我这样做:
// All the http web images I have tried have failed
wideContent.Image.Src = "http://upload.wikimedia.org/wikipedia/commons/a/ae/Ursus_arctos_-_Norway.jpg";
我的通知没有出现。 (没有例外或任何情况 - 我的通知未能出现在磁贴中,并且事件查看器中出现错误。)
同样,我无法让http://code.msdn.microsoft.com/windowsapps/App-tiles-and-badges-sample-5fc49148 的 MS 示例应用程序处理网络图像。
还有其他人遇到这个问题吗?或者有谁知道如何解决它?
编辑:
以上代码使用 MS 示例应用程序中的 NotificationsExtensions 库。我使用 XmlDocument 等构建通知时遇到了同样的问题。 (此处示例:http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh868236.aspx)
【问题讨论】:
-
您的应用是否有 Internet 权限?您尝试过 HTTPS 吗?
-
我确实在清单中将 Internet(客户端)声明为一项功能。我刚刚尝试使用 HTTPS,得到了相同的结果(我的磁贴上没有通知)。
-
如果您不使用图像,您的磁贴是否正常工作? (例如,是不是您的图像部分导致了失败)
-
是的,瓷砖在没有图像的情况下也能正常工作......
标签: c# windows-8 microsoft-metro