Android如何在不打开意图的情况下将事件添加到日历?

问题描述

我遵循official doc将事件添加到日历。如果我使用意图通过示例代码插入事件,那么它将起作用。但是,如果我尝试直接通过示例代码添加事件,则日历没有任何反应。我的代码或设置有什么问题?有人可以帮我解决吗?

我得到的日历ID是1。

     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,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" />

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)