如何确定您的应用程序磁贴已固定到开始屏幕?

9
在一个通用应用程序中,如何判断你的应用程序是否已经被固定到了开始屏幕上? 我可以看到你可以像这样查询次要磁贴:
SecondaryTile.FindAllAsync()

但是我找不到与主要磁贴类似的内容。

(我想这样做是为了在我的应用程序不再在开始屏幕上时取消注册实时磁贴更新)


1
为什么会有负评?请告诉我您认为这个问题有什么问题,以便我可以改进它。 - David Hayes
3
不是针对这个使用案例,但是微软曾经为Windows中类似的功能提供过这样的API。后来他们发现一些开发者会抱怨用户不够了解这个应用程序有多特别,以至于应该始终固定/始终显示其通知图标等。所以现在,微软不倾向于暴露这样的API。正是这些其他开发者的意见让我们失去了好东西。 - Damien_The_Unbeliever
我猜那是有道理的,但当你只想在有东西显示时才使用数据以提高效率时,这确实很烦人。 - David Hayes
1个回答

4
目前无法检测磁贴是否固定到启动页面,但是您可以使用以下代码:NotificationSetting ns = TileUpdateManager.CreateTileUpdaterForApplication().Setting;。有关ns变量的可能值列表,请单击此处
我已经验证了这种行为。当磁贴被固定时,该值为 Enabled,当我取消固定磁贴时,设置变为 DisabledForApplication。因此,您可以假设如果磁贴不处于“启用”状态,则不需要更新磁贴。
此外,您可以查看由Microsoft提供的示例,以获取更多详细信息。
希望这能有所帮助。

2
有趣的是,默认情况下您会得到Enabled,但如果您将应用程序固定和取消固定,它将变为DisabledForApplication。对我来说,这可能已经够了,所以我会接受这个答案,直到有人提出更好的解决方案(如果有的话)。谢谢你的回答。 - David Hayes

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接