3
假設我有3個可以顯示數據並將其添加到ContentProvider的活動活動。在活動中同步狀態的最佳方式是什麼?例如,如果ActivityA向ContentProvider添加新記錄,我希望ActivityB和ActivityC接收通知,以便他們可以更新其視圖。Android:數據更改時如何從Content Provider接收回調?
假設我有3個可以顯示數據並將其添加到ContentProvider的活動活動。在活動中同步狀態的最佳方式是什麼?例如,如果ActivityA向ContentProvider添加新記錄,我希望ActivityB和ActivityC接收通知,以便他們可以更新其視圖。Android:數據更改時如何從Content Provider接收回調?
使用每個活動的ContentResolver.registerContentObserver()
方法,並提供適當的URI。
您可以傳遞提供者的基本內容URI,並通過true
獲取notifyForDescendents
參數,並且每次發生更改時都會觸發您的回調。
您正在訪問的Content Provider必須支持此操作(大部分都是這樣)。如果您正在編寫自己的代碼,則必須使用修改後的行的URI調用ContentResolver.notifyChange()
。