提问人:Marco Ferrante 提问时间:7/5/2023 更新时间:7/5/2023 访问量:96
使用 Java 在 Android 13 上以编程方式添加日历事件
add programmatically calendar event on android 13 with java
问:
我创建了一个预订应用程序。预订后,活动会自动添加到日历中。这适用于大多数设备。我遇到了一些无法正常工作的设备(小米和三星),我不知道原因是操作系统版本还是其他原因。
以下代码是我用于大多数设备的代码
ContentValues event = new ContentValues();
event.put(CalendarContract.Events.CALENDAR_ID, 1);
event.put(CalendarContract.Events.TITLE, "title");
event.put(CalendarContract.Events.DESCRIPTION, "description");
event.put(CalendarContract.Events.EVENT_LOCATION, "location");
event.put(CalendarContract.Events.EVENT_TIMEZONE, TimeZone.getDefault().getID());
event.put(CalendarContract.Events.DTSTART, date + (begin * 3600000) + 1800000);
event.put(CalendarContract.Events.DTEND, date + (end * 3600000) + 1800000);
event.put(CalendarContract.Events.ALL_DAY, 0); // 0 per false, 1 per true
event.put("eventStatus", 1);
event.put(CalendarContract.Events.HAS_ALARM, 0);
String eventUriString = "content://com.android.calendar/events";
Uri eventUri = requireContext().getApplicationContext()
.getContentResolver()
.insert(Uri.parse(eventUriString), event);
long eventID = Long.parseLong(eventUri.getLastPathSegment());
int minutes=30;
// add reminder for the event
ContentValues reminders = new ContentValues();
reminders.put("event_id", eventID);
reminders.put("method", "1");
reminders.put("minutes", minutes);
String reminderUriString = "content://com.android.calendar/reminders";
getContext().getContentResolver()
.insert(Uri.parse(reminderUriString), reminders);
我在某处找到了一些代码,允许您打开已填写字段的日历应用程序。然而,我想要的是,用户甚至没有感知到事件已经创建
答: 暂无答案
评论