我的目标是编写一个应用程序来监听Android日历中的更改。在这种情况下似乎不支持广播,但需要的是ContentObserver
。
如果我希望ContentObserver
无限期运行,则需要一个线程在应用程序关闭时继续运行(最终我希望它在移动启动时启动)。
服务是一个很好的解决方案吗?或者让服务一直运行是不是很糟糕?是否会耗尽大量电池,即使我要做的只是保持ContentObserver
注册?
据我所知,我唯一的选择是使用定期民意调查,但我宁愿不这样做。
答案 0 :(得分:0)
在这种情况下,似乎没有广播支持,
但是剂量。您必须使用ACTION_PROVIDER_CHANGED和
android:scheme="content"
android:host="com.android.calendar"
因此具有此intent-filter的接收器可以工作:
<receiver
android:name=".CalendarChangeReceiver">
<intent-filter>
<action android:name="android.intent.action.PROVIDER_CHANGED"/>
<data android:scheme="content"/>
<data android:host="com.android.calendar"/>
</intent-filter>
</receiver>