我真的不明白为什么内容观察者会监听与联系信息无关的更改。
我只是注册到我想监听更改的 URI:
getContentResolver().registerContentObserver(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, true, contactsObserver);
但是在给某人打电话或给某人发短信后,它会触发并调用ContentObserver中的onChange方法。因此,我需要将所有联系人列表与我的应用程序重新同步,尽管我不需要这样做。
我唯一感兴趣的领域:
- ContactsContract.CommonDataKinds.Phone.CONTACT_ID
- ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME
- ContactsContract.CommonDataKinds.Phone.NUMBER
我应该实施什么样的更改来侦听此数据库项的更改?
联系人数据库有一个字段ContactsContract.Contacts.TIMES_CONTACTED
每次您联系联系人列表中的某人时,此字段都会更新。
甚至可以使用您自己的应用程序更新此字段,这意味着,如果您使用更新此字段的应用程序联系任何联系人,您的onChange()
方法将被调用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)