2013-11-16 20 views
11

Tüm değişiklikleri almak için Content Provider kullanmam gerektiğini anlıyorum, ama aynı zamanda 'un başlatılmasının, yerine dinlemek için kullanabileceğim takvim için hazır bir Content Provider olduğunu anladım. bina "benim kendi özel biri.
Bunun bir örneğini görebileceğim bir yer var mı?
Birisi bu dinleyicinin çekirdeğini gönderebilir mi?Android takvim değişikliklerini dinleyin. (Senk/Sil/Ekle vb ..)

Teşekkür

cevap

22

İlk sen Manifest'e alıcının bu tip eklemek gerekir:

public class CatchChangesReceiver extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context context, Intent intent) { 
    // add processing here with some query to content provider 
     // in my project I use this selection for getting events: 
     final String SELECTION = CalendarContract.Events.CALENDAR_ID + "=" 
      + calendarId + " AND " + "(" 
      + CalendarContract.Events.DIRTY + "=" + 1 + " OR " 
      + CalendarContract.Events.DELETED + "=" + 1 + ")" + " AND " 
      + CalendarContract.Events.DTEND + " > " 
      + Calendar.getInstance().getTimeInMillis(); 
    } 
} 
+0

teşekkür ederiz:

<receiver android:name="your.package.name.CatchChangesReceiver" android:priority="1000" > <intent-filter> <action android:name="android.intent.action.PROVIDER_CHANGED" /> <data android:scheme="content" /> <data android:host="com.android.calendar" /> </intent-filter> </receiver> 

Sonra yayın alıcısı genişleten basit bir sınıf oluşturmak! Harika çalışıyor! – SagiLow

+0

Bu, aksi takdirde belgelere ulaşmak imkansızdır, bu yüzden içgörü için çok teşekkürler. –

+0

Tam örnek alabilir miyim? – Nikita