如何在不打开意图的情况下将事件添加到日历?Android
我将按照以下步骤将事件添加到日历中。如果我使用意图通过示例代码插入事件,那么它是有效的。但是,如果我试图通过示例代码直接添加事件,则日历不会发生任何变化。我的代码或设置有什么问题?有人能帮我解决吗 ps我的日历id是1如何在不打开意图的情况下将事件添加到日历?Android,android,android-calendar,android-contentresolver,Android,Android Calendar,Android Contentresolver,我将按照以下步骤将事件添加到日历中。如果我使用意图通过示例代码插入事件,那么它是有效的。但是,如果我试图通过示例代码直接添加事件,则日历不会发生任何变化。我的代码或设置有什么问题?有人能帮我解决吗 ps我的日历id是1 public void addEvent(){ try { TimeZone tz= TimeZone.getDefault(); long caliD = 1; long startMillis = 0;
public void addEvent(){
try {
TimeZone tz= TimeZone.getDefault();
long caliD = 1;
long startMillis = 0;
long endMillis = 0;
Calendar beginTime = Calendar.getInstance();
beginTime.set(2020, 11, 14, 7, 30);
startMillis = beginTime.getTimeInMillis();
Calendar endTime = Calendar.getInstance();
endTime.set(2020, 11, 14, 8, 45);
endMillis = endTime.getTimeInMillis();
ContentResolver cr = getContentResolver();
ContentValues values = new ContentValues();
values.put(CalendarContract.Events.DTSTART, startMillis);
values.put(CalendarContract.Events.DTEND, endMillis);
values.put(CalendarContract.Events.TITLE, "Jazzercise");
values.put(CalendarContract.Events.DESCRIPTION, "Group workout");
values.put(CalendarContract.Events.CALENDAR_ID, caliD);
values.put(CalendarContract.Events.EVENT_TIMEZONE, tz.getID());
Uri uri = cr.insert(CalendarContract.Events.CONTENT_URI, values);
Toast.makeText(this, "Event added Successfully",
Toast.LENGTH_LONG).show();
// get the event ID that is the last element in the Uri
long eventID = Long.parseLong(uri.getLastPathSegment());
//
// ... do something with event ID
//
//
}catch (Exception e){
e.printStackTrace();
Toast.makeText(this, "Exception: " + e.getMessage(),
Toast.LENGTH_SHORT).show();
}
}
舱单:
<uses-permission android:name="android.permission.READ_CALENDAR" />
<uses-permission android:name="android.permission.WRITE_CALENDAR" />