Cannot add calendar event reminder to Marshmallow device

Can someone help me create a calendar event reminder programmatically. It works great at API level 22, but not at level 23 (Marshmallow).

Code

ContentValues reminderValues = new ContentValues(); reminderValues.put(CalendarContract.Reminders.EVENT_ID, 1); reminderValues.put(CalendarContract.Reminders.MINUTES, 1); reminderValues.put(CalendarContract.Reminders.METHOD, CalendarContract.Reminders.METHOD_DEFAULT); Uri reminderUri = getApplicationContext().getContentResolver() .insert(CalendarContract.Reminders.CONTENT_URI, reminderValues); 

Exception

SqliteDoneException

0
source share
1 answer
 private int getPrimaryCalendar() { // noinspection ResourceType Cursor managedCursor = getContentResolver().query(CalendarContract.Calendars.CONTENT_URI, new String[]{ CalendarContract.Calendars._ID, CalendarContract.Calendars.IS_PRIMARY}, null, null, null); int calID = 0; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { if (managedCursor != null && managedCursor.moveToFirst()) { do { calID = managedCursor.getInt(managedCursor.getColumnIndex(CalendarContract.Calendars._ID)); int columnIndex = -1; try { columnIndex = managedCursor.getColumnIndex(CalendarContract.Calendars.IS_PRIMARY); } catch (NullPointerException e) { LogUtil.d(TAG, e.getMessage()); } if (columnIndex != -1 && managedCursor.getInt(columnIndex) == 1) { break; } else { calID = 1; } } while (managedCursor.moveToNext()); managedCursor.close(); } } return calID; } 

Use default calendar

0
source

Source: https://habr.com/ru/post/982854/


All Articles