广播联系人添加/更改?

Posted

技术标签:

【中文标题】广播联系人添加/更改?【英文标题】:Broadcast on contact add/change? 【发布时间】:2011-08-09 16:17:40 【问题描述】:

是否有任何标准的广播意图,我可以注册 BroadcastReceiver 以便在添加或更改联系人时触发该意图?我已经浏览了一段时间的文档,但没有找到任何东西。也许它隐藏在某个很深的地方,你们中的一个人知道在哪里。

【问题讨论】:

看看我的回答***.com/a/29031605/1881527它可能对你有帮助...:) 【参考方案1】:

我来回答我自己的问题(如果有人有更好的答案,请不要害羞)。

添加/更改联系人时没有广播。但是,当您在 RawContacts 表中查找您的联系人时,您有一个 DIRTY 列,如果该联系人自上次同步后发生更改,则该列是 1,这几乎就是我想要的。

【讨论】:

你确定这是不可能的吗?我想在添加联系人时收到通知 - 你在做什么?你什么时候检查有没有脏东西? 同步服务启动时。添加联系人后,操作系统可能会自动启动您的服务,但这并不能保证。我想您可以注册一个内容观察者(参见ContentResolver.registerContentObserver),但我认为这需要您在设备唤醒时始终运行Service(请在设备进入睡眠状态)。 @Felix 我无法理解一件事,假设我从本机应用程序更新/删除联系人并且设置了相关标志,现在我如何确定当我的同步适配器运行时,标志是谷歌同步适配器等没有重置?我对内容提供程序和同步适配器有所了解,但无法弄清楚这一点。请帮忙!

以上是关于广播联系人添加/更改?的主要内容,如果未能解决你的问题,请参考以下文章

本机联系人更改通知

如何将联系人信息放入短信广播接收器类?

有没有办法在 Android 中获取联系人更改

acvity和fragment通过广播联系

在联系人中添加应用程序

将 iphone 联系人中的联系人添加到我的表格视图