2011-04-20 39 views
9

是否有任何標準的廣播意圖,我可以註冊一個BroadcastReceiver爲觸發,無論何時添加或更改聯繫人?我一直在瀏覽文檔一段時間,但還沒有找到任何東西。也許它隱藏在某個深處,其中一個人知道在哪裏。在聯繫人上添加/更改廣播?

+0

查看我的回答http://stackoverflow.com/a/29031605/1881527它可以幫助你... :) – 2015-03-13 11:55:52

回答

6

這裏我回答我自己的問題(如果有人有更好的答案,不要害羞)。

添加/更改聯繫人時沒有廣播。但是,當您在RawContacts表中查找聯繫人時,如果聯繫人在上次同步後發生了更改,那麼您的DIRTY列的聯繫人列表爲1,這幾乎是我所尋找的。

+2

你確定這不可能嗎?我想被通知一個聯繫人被添加 - 你在做什麼?你什麼時候檢查是否有髒污? – 2011-09-23 15:03:02

+2

每當同步服務啓動時。 OS *可能*在添加聯繫人後自動啓動您的服務,但不能保證。我想你**可以**註冊一個內容觀察者(參見'ContentResolver.registerContentObserver'),但我認爲這將需要你有一個「服務」在設備喚醒時隨時運行(請在設備停止時運行去睡覺)。 – Felix 2011-09-23 15:35:59

+0

@Felix我不明白一件事,假設我更新/從本機應用程序更新/刪除聯繫人並設置相關標誌,現在我怎麼能確定當我的同步適配器運行時,標誌沒有被谷歌同步適配器重置等等? 我知道一些關於內容提供者和同步適配器的知識,但無法弄清楚這件事。 請幫忙! – 2016-08-20 15:12:54

相關問題