简体   繁体   English

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

[英]How to remove reminder from event in android?

When I set a reminder for an event can not remove it!当我为一个事件设置提醒时无法删除它! I've already test this code:我已经测试过这段代码:

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

I seen some calendars include google calendar do this but some of them do not.我看到一些日历包括谷歌日历这样做,但其中一些没有。 Anyone can help me?任何人都可以帮助我吗?

You can use following method to delete the reminder set on event您可以使用以下方法删除事件上设置的提醒

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

You need to use following method before above method to get the reminderId for the event and then pass it to above method.您需要在上述方法之前使用以下方法来获取事件的提醒 ID,然后将其传递给上述方法。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM