如果设备联系中有更改(添加,更新,删除),如何通知Android应用程序?
这些通知需要遵循以下两种情况的变化:
答案 0 :(得分:0)
对于第一个问题:使用附加到人员存储的Content Observer:
getContentResolver().registerContentObserver (ContactsContract.Contacts.CONTENT_URI, true, new ContactOnserver());
其中:
class ContactOnserver extends ContentObserver {
public MyContentObserver() {
super(null);
}
@Override
public void onChange(boolean selfChange) {
// handle change here <----------------------------
}
}
这会在您的应用运行时通知您有关联系人更改的通知。
至于你的另一个问题 - 如何在应用程序未运行时进行所有更改 - 执行以下操作:
A。在停用之前,请将您的应用记录当前时间纳入SharedPreferences字段
B。下次加载后,查询联系人表格,查看上次退出时间后所做的更改。 我在这里没有提供任何代码示例,但我相信你会管理。在网上搜索类似的内容:
ContentResolver cr = getContentResolver();
Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI,null, null, null, null);