I'm working on a function to upload contacts to server if there's any change to the contact book.
One approach I found is querying the DATA_VERSION column of ContactsContract.Data
and save version for each contact to app specific shared preference, later on requery
the table and check if there's any version mismatch.
But this is apparently too heavy as all I need is just a Boolean whether the entire contacts book is touched.
Note I can't do this through ContentObserver
because the address book might be changed when app is not running.
Is there someway to generate a check sum for the entire address book and check later?