ContactStore Событие ContactChanged не запускается при изменении контактов - PullRequest
0 голосов
/ 25 февраля 2019

Модифицированный регистр никогда не вызывается при изменении контакта или добавлении номера телефона

 _contactStore.ContactChanged += _contactStore_ContactChanged;


private void _contactStore_ContactChanged(ContactStore sender, ContactChangedEventArgs args)
        {
            var defferal = args.GetDeferral();

            ContactChangeReader reader = sender.ChangeTracker.GetChangeReader();
            IReadOnlyList<ContactChange> changes = reader.ReadBatchAsync().AsTask().Result;

            while (changes.Count != 0)
            {
                foreach (ContactChange change in changes)
                {
                    switch (change.ChangeType)
                    {
                        case ContactChangeType.Modified: SomeLogic();
                          break;
                    }
                }
               changes = reader.ReadBatchAsync().AsTask().Result;
            }
            reader.AcceptChanges();

1 Ответ

0 голосов
/ 26 февраля 2019

Возможно, проблема в том, что тип ContactStoreAccessType неверен.Пожалуйста, попробуйте использовать AllContactsReadWrite тип перечисления.

ContactStore store = await ContactManager.RequestStoreAsync(ContactStoreAccessType.AllContactsReadWrite);
store.ContactChanged += Store_ContactChanged;

private void Store_ContactChanged(ContactStore sender, ContactChangedEventArgs args)
{

}
...