我目前正在开发一个应用程序,可以将日历事件添加到用户选择的日历中。用户可以使用我的应用程序或其他日历应用程序来编辑活动。我现在正在尝试编写一个在后台工作的接收器或观察器,并监听事件或实例的更改。我基本上希望我的应用程序知道何时删除事件或事件实例,以便我可以清理应用程序数据库中的某些数据,尤其是当从其他CALENDAR APP中删除事件或实例时。我以为我可以使用intent过滤器在清单文件中注册一个观察者。我发现以下示例使用广播接收器,它似乎在大多数情况下工作,但我想知道如何获取calendarId,eventId甚至可能删除事件的instanceId。有任何想法吗?
<receiver android:name=".calendar.CalendarChangeReceiver">
<intent-filter>
<action android:name="android.intent.action.PROVIDER_CHANGED"/>
<data android:scheme="content"/>
<data android:host="com.android.calendar"/>
</intent-filter>
</receiver>
答案 0 :(得分:0)
不幸的是,对于内容观察者,您无法获得有关更改内容的任何详细信息。 您获得的唯一信息是更改的内容Uri(如果可用),这仅来自API 16: onChange(boolean, android.net.Uri)