android - 收听 android 日历更改。 (同步/删除/插入等。)

标签 android android-contentprovider android-calendar

我知道我必须使用 Content Provider 来获取所有更改,但我也意识到启动 API14 有一个现成的 Content Provider 我可以用来收听而不是“构建”我自己的自定义日历。
有什么地方可以看到这方面的例子吗?
有人可以发布这个监听器的核心吗?

谢谢

最佳答案

首先你需要将这种类型的接收器添加到Manifest中:

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

然后创建一个扩展广播接收器的简单类:

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();
    }
}

关于android - 收听 android 日历更改。 (同步/删除/插入等。),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20018619/

相关文章:

java - 有什么方法可以检测 android 日历 View 中的月份变化(即当用户将日历更改为另一个月份时)

android - 如何在 Android 中将日期时间从一种格式转换为另一种格式?

android - 文字转语音 : deprecated speak function in API Level 21

android - 虚拟机上的 adb devices 未列出设备

android - ContentResolver 在创建文件后立即查询中不包含刚刚创建的图像

android - 从自定义键盘复制/粘贴剪贴板

android - 从日期和时间选择器中选择日期和时间后,如何将它们作为参数传递给日历的 'Create Event' 函数?

android - 回收站 View 不响应点击

java - 显示来自 InputStream 的图像

Android:content://sms/"type"值的文档?