我在这里遇到了一些严重的问题:我正在创建一个处理联系人同步的 Windows Phone 8 应用程序,但是我无法判断是否应该在服务器上更新本地联系人,因为我没有发现任何东西可以通知我的应用程序我的联系人商店中的联系人已被编辑(使用本机联系人应用程序)。
我需要一个修订号之类的东西。到目前为止,我发现的是 ContactChangeRecord 类,但它需要一个联系人存储修订版,而我的似乎总是相同的,即使在联系人更改 (1) 之后也是如此。
有人能帮助我吗 ?
我在这里遇到了一些严重的问题:我正在创建一个处理联系人同步的 Windows Phone 8 应用程序,但是我无法判断是否应该在服务器上更新本地联系人,因为我没有发现任何东西可以通知我的应用程序我的联系人商店中的联系人已被编辑(使用本机联系人应用程序)。
我需要一个修订号之类的东西。到目前为止,我发现的是 ContactChangeRecord 类,但它需要一个联系人存储修订版,而我的似乎总是相同的,即使在联系人更改 (1) 之后也是如此。
有人能帮助我吗 ?
联系人存储的修订号应该更改。您可以检测到您的联系人存储中所做的任何更改:
ContactStore cloudContactStore = await ContactStore.CreateOrOpenAsync(ContactStoreSystemAccessMode.ReadWrite, ContactStoreApplicationAccessMode.ReadOnly);
// Assuming you already have created the contactStore and made some changes from the
// device like deleting, or renaming a contact
var changeList = await cloudContactStore.GetChangesAsync(5);
foreach (var change in changeList)
{
// Each change record returned contains the change type, remote and local ids, and revision number
Debug.WriteLine(String.Format("Change Type: {0}\nLocal ID: {1}\nRemote ID: {2}\nRevision Number: {3}",
change.ChangeType.ToString(),
change.Id,
await remoteIDHelper.GetUntaggedRemoteId(cloudContactStore, change.RemoteId),
change.RevisionNumber));
// Get the contact associated with the change record using the Id property.
var contact = await cloudContactStore.FindContactByIdAsync(change.Id);
if (contact != null)
{
}
}
检查 Visual Studio 的调试输出。您应该看到带有所做更改类型(创建、修改、删除)的联系人 ID http://msdn.microsoft.com/en-us/library/windows.phone.personalinformation.contactchangetype.aspx
查看此示例:http ://www.getcodesamples.com/src/3D34679D/F29F8FA4了解更多详情
修订号是联系人存储类的属性之一。还有某种“日志”,您可以在其中检查操作类型。