Android、Listener/Observer/Callback 关于日历事件更改
Android, Listener/Observer/Callback on calendar event change
我正在编写一个应用程序,它需要知道日历中的会议时间 added/removed/changed。
我知道如何使用日历 uri 上的 CursorLoader
从日历中获取所有数据。
我还知道如何使用 ContentObserver
收听日历更改。
问题是 ContentObserver.onChange(boolean selfChange, Uri uri)
不提供有关已更改事件的信息。所以让我知道变化是什么的唯一方法是使用 CursorLoader
重新加载整个日历(或其中的一部分)并比较旧的和新的。
有没有办法在日历上 "register for changes" 并接收更改的事件?
很遗憾,没有这样的选项。我什至反映了那个 Intent 附带的整个 Bundle - 什么都没有。恕我直言,Android API 的某些表面非常缺乏,我猜这只是其中之一。
手动编辑事件集后的每个事件 CalendarContract.DIRTY = 1(用于指示存在本地、未同步的更改)。找到这些事件。不要忘记在同步后重置此标志(等于 0)。
我正在编写一个应用程序,它需要知道日历中的会议时间 added/removed/changed。
我知道如何使用日历 uri 上的 CursorLoader
从日历中获取所有数据。
我还知道如何使用 ContentObserver
收听日历更改。
问题是 ContentObserver.onChange(boolean selfChange, Uri uri)
不提供有关已更改事件的信息。所以让我知道变化是什么的唯一方法是使用 CursorLoader
重新加载整个日历(或其中的一部分)并比较旧的和新的。
有没有办法在日历上 "register for changes" 并接收更改的事件?
很遗憾,没有这样的选项。我什至反映了那个 Intent 附带的整个 Bundle - 什么都没有。恕我直言,Android API 的某些表面非常缺乏,我猜这只是其中之一。
手动编辑事件集后的每个事件 CalendarContract.DIRTY = 1(用于指示存在本地、未同步的更改)。找到这些事件。不要忘记在同步后重置此标志(等于 0)。