如何从Android中的事件中删除提醒?

时间:2018-07-24 06:03:15

标签: android android-contentresolver reminders

当我设置事件提醒时,无法将其删除! 我已经测试了这段代码:

Uri reminderUri = ContentUris.withAppendedId(CalendarContract.Reminders.CONTENT_URI, reminder.id);
context.getContentResolver().update(reminderUri, getEmptyReminderContentValues(reminder), null, null);
context.getContentResolver().delete(reminderUri, null, null);

我看到有些日历包括Google日历,但有些却没有。 有人可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

您可以使用以下方法删除事件提醒集

public static void deleteReminderOnEvent(Long reminderId) {
    Uri reminderUri = ContentUris.withAppendedId(CalendarContract.Reminders.CONTENT_URI, reminderId);
    int rows = contentResolver.delete(reminderUri, null, null);
}

您需要在上述方法之前使用以下方法来获取事件的hinterId,然后将其传递给上述方法。

private static Long checkIfReminderExist(ContentResolver contentResolver, long eventId) {
    Long reminderId = null;

    String[] projection = new String[]{
            CalendarContract.Reminders._ID,
            CalendarContract.Reminders.METHOD,
            CalendarContract.Reminders.MINUTES
    };

    Cursor cursor = CalendarContract.Reminders.query(contentResolver, eventId, projection);

    while (cursor != null && cursor.moveToNext()) {
        reminderId = cursor.getLong(0);
    }

    cursor.close();

    return reminderId;
}
相关问题