在Android Pie中,添加的事件可能无法在Google日历中显示的原因是因为未正确设置事件的日历ID。下面是一个代码示例,演示如何添加事件并确保它在Google日历中正确显示:
import android.content.ContentResolver;
import android.content.ContentValues;
import android.net.Uri;
import android.provider.CalendarContract;
// 在合适的地方调用该方法来添加事件
public void addEventToCalendar() {
ContentResolver cr = getContentResolver();
ContentValues values = new ContentValues();
// 设置事件的标题、日期和时间等信息
values.put(CalendarContract.Events.TITLE, "事件标题");
values.put(CalendarContract.Events.DTSTART, startTimeInMillis);
values.put(CalendarContract.Events.DTEND, endTimeInMillis);
values.put(CalendarContract.Events.CALENDAR_ID, 1); // 设置日历ID(默认为1,可能需要根据情况修改)
// 设置事件的时区
values.put(CalendarContract.Events.EVENT_TIMEZONE, "Asia/Shanghai");
// 插入事件
Uri uri = cr.insert(CalendarContract.Events.CONTENT_URI, values);
// 获取插入事件的ID
long eventId = Long.parseLong(uri.getLastPathSegment());
// 更新事件的可见性,确保在Google日历中显示
values = new ContentValues();
values.put(CalendarContract.Events.VISIBLE, 1);
cr.update(uri, values, null, null);
}
请确保在添加事件时设置了正确的日历ID(可以在Google日历应用中查看日历的ID),并将事件的可见性设置为1,以确保在Google日历中显示。