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

问题描述 投票:0回答:1

当我为某个活动设置提醒时无法删除它!我已经测试过这段代码:

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

我看到一些日历包括谷歌日历这样做,但其中一些没有。有人可以帮帮我吗?

android android-contentresolver reminders
1个回答
2
投票

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

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

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

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;
}
© www.soinside.com 2019 - 2024. All rights reserved.