0

Mein Ziel ist es, eine App zu schreiben, die auf Änderungen im Android-Kalender hört. In diesem Fall scheint es keine Unterstützung für Broadcasts zu geben, aber was benötigt wird, ist ein ContentObserver.Laufender Dienst für Android Kalenderänderungen?

Wenn ich möchte, dass eine ContentObserver auf unbestimmte Zeit läuft, benötigt es einen Thread, um weiter zu laufen, wenn die App geschlossen wird (schließlich möchte ich, dass sie beim mobilen Booten startet).

Ist ein Service eine gute Lösung dafür? Oder ist es schlecht, einen Dienst die ganze Zeit laufen zu lassen? Wird es viel Batterie entladen, obwohl alles, was ich tun werde, eine ContentObserver registriert bleibt?

Soweit ich sehen kann, ist meine einzige Alternative, periodisches Polling zu verwenden, aber das würde ich lieber nicht tun.

Antwort

0

Es scheint nicht, wie in diesem Fall für Sendungen Unterstützung da ist, Dosis

aber es. Sie müssen ACTION_PROVIDER_CHANGED mit

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

So ein Empfänger mit diesen Intent-Filter funktioniert verwenden:

<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

Ich möchte Ihre Antwort –

+0

ähnlich wie ich für android Medien Bildinhaltsanbieter Änderungen einen laufenden Dienst habe. So, wie Broadcast-Empfänger in diesem Fall mit Action_Provider_Changed –

+0

verwenden Keine Idee nur @AnkeshkumarJaisansaria suchen –