Есть ли способ добавить напоминания к новому событию календаря с использованием намерений?

Мне нужно поддерживать Android 2.1 и выше. Я знаю, что CalendarContract недоступен в Android 2.1, поэтому я сделал следующее обходное решение.

Intent intent = new Intent(Intent.ACTION_EDIT)
                        .setType("vnd.android.cursor.item/event")
                        .putExtra("beginTime", beginTime.getTimeInMillis())
                        .putExtra("title", title)
                        .putExtra("description", description)
                        .putExtra("eventLocation", location)
                        .putExtra("allDay", allDay)
                        .putExtra(Intent.EXTRA_EMAIL, email );
                if(!allDay) {
                    intent.putExtra("endTime", endTime.getTimeInMillis());
                }

               startActivity(intent);

Это очень хорошо работает до сих пор. Я тестировал с 2.1 по 4.1.

Я также хотел бы добавить напоминания, но я не могу найти документацию о том, как это сделать, используя Intents. У кого-нибудь есть пример? Я хочу избежать добавления дополнительных разрешений к моему манифесту для записи в календарь, поэтому, если у вас есть предложение, требующее этого, я не смогу его использовать.

Ответ 1

Если вы проверите источник ресурса Android android Calendar код, напоминания не могут быть добавлены с использованием намерения.

Вместо этого calendar имеет параметр для установки напоминания по умолчанию. Но некоторые OEM-производители могли бы это реализовать. Поэтому даже если вы его найдете, он не будет работать на всех телефонах.