0

我的目标是编写一个应用程序,用于监听Android日历中的更改。在这种情况下,似乎没有支持广播,但需要的是ContentObserver为Android日历更改运行服务?

如果我想让ContentObserver无限期运行,它需要一个线程在应用程序关闭时保持运行(最终我希望它在移动启动时启动)。

服务是一个很好的解决方案吗?或者服务一直在运行是不是很糟糕?它会耗尽大量电池,尽管我所做的只是保留ContentObserver登记?

据我所知,我唯一的选择是使用定期轮询,但我宁愿不这样做。

回答

0

它似乎并不像有在这种情况下,广播的支持,

但它的剂量。您必须使用ACTION_PROVIDER_CHANGED

android:scheme="content" 
android:host="com.android.calendar" 

所以用这个意图过滤器的接收器的工作原理:

<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> 
+0

我喜欢你的答案 –

+0

类似的方式,我有Android的媒体图像内容供应方变化正在运行的服务。那么如何在这种情况下使用广播接收器使用Action_Provider_Changed –

+0

不知道只是搜索@AnkeshkumarJaisansaria –