在没有后台任务的情况下增加徽章值
Incrementing badge value without a background task
我正在构建一个作为通用 Windows 8.1 商店项目的消息传递应用程序,我对推送通知系统有点困惑。我正在使用 WNS,基本例程工作正常(通知通道 uri 交换、传送 toast 通知等)
现在我想通过服务器通知增加徽章值并通过本地通知减少它。在挖掘手册之后,我似乎没有找到一种方法来做到这一点,而不需要后台任务来接收原始通知并做一些事情来设置正确的值。我发现可用的只有 setting the value。我宁愿完全避免使用后台任务,因为它们可能会被节电程序阻止(无论用户是否有意)。例如,Skype 似乎无法在后台执行被阻止的情况下提供任何通知,我不希望我的应用程序以这种方式运行。
所以,我想回答两个问题:
- 有没有办法仅通过通知 increment/decrement 徽章价值?
- 有没有办法在应用程序代码中获取当前徽章值?
好吧,我试着按照你想做的做,但找不到任何东西,最好的方法是在后台任务的帮助下完成,并通过覆盖控件添加后台任务以始终允许当用户第一次打开应用时。
希望,这对你有帮助。
磁贴详细信息(包括徽章值)是只读的。
尽量不要将徽章编号视为递增或递减,而只是设置为一个新值。
您需要使用代码 运行 更改该值。这可能在本地应用程序中(当它是 运行 时)、在设备的后台 agent/task 中或在某处的远程服务器上。
要设置新值,您必须知道该值应该是多少。如果它与之前显示的值相关,您需要单独跟踪它。
因此,以相反的顺序回答您的问题。
2) 不行,你不能读取当前显示的值。
1) 您可以通过将显示值设置为更高或更低的新值来增加或减少显示值。设置新值只能用绝对值来完成,因为没有递增(或递减)消息的概念。可以从任何地方(前台、后台或远程)发送更新磁贴的通知,但何时以及如何发送将取决于什么对 app/user.
最有利
我正在构建一个作为通用 Windows 8.1 商店项目的消息传递应用程序,我对推送通知系统有点困惑。我正在使用 WNS,基本例程工作正常(通知通道 uri 交换、传送 toast 通知等)
现在我想通过服务器通知增加徽章值并通过本地通知减少它。在挖掘手册之后,我似乎没有找到一种方法来做到这一点,而不需要后台任务来接收原始通知并做一些事情来设置正确的值。我发现可用的只有 setting the value。我宁愿完全避免使用后台任务,因为它们可能会被节电程序阻止(无论用户是否有意)。例如,Skype 似乎无法在后台执行被阻止的情况下提供任何通知,我不希望我的应用程序以这种方式运行。
所以,我想回答两个问题:
- 有没有办法仅通过通知 increment/decrement 徽章价值?
- 有没有办法在应用程序代码中获取当前徽章值?
好吧,我试着按照你想做的做,但找不到任何东西,最好的方法是在后台任务的帮助下完成,并通过覆盖控件添加后台任务以始终允许当用户第一次打开应用时。
希望,这对你有帮助。
磁贴详细信息(包括徽章值)是只读的。
尽量不要将徽章编号视为递增或递减,而只是设置为一个新值。
您需要使用代码 运行 更改该值。这可能在本地应用程序中(当它是 运行 时)、在设备的后台 agent/task 中或在某处的远程服务器上。
要设置新值,您必须知道该值应该是多少。如果它与之前显示的值相关,您需要单独跟踪它。
因此,以相反的顺序回答您的问题。
2) 不行,你不能读取当前显示的值。
1) 您可以通过将显示值设置为更高或更低的新值来增加或减少显示值。设置新值只能用绝对值来完成,因为没有递增(或递减)消息的概念。可以从任何地方(前台、后台或远程)发送更新磁贴的通知,但何时以及如何发送将取决于什么对 app/user.
最有利