运行 android 日历更改服务?
Running service for android calendar changes?
我的目标是编写一个应用程序来监听 android 日历中的变化。在这种情况下似乎不支持广播,但需要的是 ContentObserver
.
如果我想要 ContentObserver
无限期地 运行,它需要一个线程在应用程序关闭时保持 运行ning(最终我希望它在移动启动时启动) .
服务是解决这个问题的好方法吗?还是一直有 运行ning 服务不好?即使我要做的只是保持 ContentObserver
注册,它会耗尽大量电池吗?
据我所知,我唯一的选择是使用定期轮询,但我宁愿不这样做。
It doesn't seem like there's support for broadcasts in this case,
但确实如此。你必须使用 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>
我的目标是编写一个应用程序来监听 android 日历中的变化。在这种情况下似乎不支持广播,但需要的是 ContentObserver
.
如果我想要 ContentObserver
无限期地 运行,它需要一个线程在应用程序关闭时保持 运行ning(最终我希望它在移动启动时启动) .
服务是解决这个问题的好方法吗?还是一直有 运行ning 服务不好?即使我要做的只是保持 ContentObserver
注册,它会耗尽大量电池吗?
据我所知,我唯一的选择是使用定期轮询,但我宁愿不这样做。
It doesn't seem like there's support for broadcasts in this case,
但确实如此。你必须使用 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>