Contacts do not appear to keep the same ID after edits. In a UWP app:
- Launch custom UWP app, user clicks "Add Contact"
- Call contactPicker.PickContactAsync()
- User selects contact, returns a Contact with an ID such as {5.70002.836}
- Save Contact ID
- Close UWP app
- Launch People, change contact picture, close People
- Launch custom UWP app
- Call contactStore.GetContactAsync(savedContactId) <- this returns null
- Call contactPicker.PickContactAsync(), select same contact
- Returned correct Contact, however, ID is now {5.70002.849}
Is that the correct behavior? Is there some other way of tracking the same contact in a UWP app between sessions?