在我的 Windows 手机应用程序中,我将所有联系人存储在一个单独的列表中,而不是在需要有关特定联系人的详细信息时使用 Contacts.SearchAsync 方法获取。
现在,每当用户更新、添加或删除任何联系人时,我都需要收到通知,以便我可以保持我的列表更新。我将如何在 Windows 手机中执行此操作?
在我的 Windows 手机应用程序中,我将所有联系人存储在一个单独的列表中,而不是在需要有关特定联系人的详细信息时使用 Contacts.SearchAsync 方法获取。
现在,每当用户更新、添加或删除任何联系人时,我都需要收到通知,以便我可以保持我的列表更新。我将如何在 Windows 手机中执行此操作?
简短的回答:没有这样的通知或事件可用,您应该在应用启动时检查当前的联系人列表以了解更改。
我不知道你是否可以在 WP 中添加这样的事件 - 我对此表示怀疑,如果我错了,请纠正我。
您可以尝试的一种解决方案是添加一个后台代理,该代理将定期检查更改。但这似乎是解决问题的方法。
http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202942(v=vs.105).aspx
我还会记得@Toni Petrina 对这个问题的回答:
“任何类型的所有连接都是当应用程序处于后台模式时暂停。您的应用程序根本无法真正响应任何事件。
不幸的是,这是与操作系统隔离的沙盒应用模型的局限性。在后台时,它被暂停,没有传感器或连接。”
所以当你离开你的应用程序时,它无法从操作系统获得通知。某些工作只能由上面链接中描述的背景代理完成。
也许即将推出的 WP 8.1 将在这件事上改变一些东西。