天天看點

android月曆的點選事件,在Android月曆中添加事件

private void setEvent(){

long startMilis = 0;

int mCalId = 1;

long endMilis = 0;

Calendar beginTime = Calendar.getInstance();

beginTime.set(2013, 1, 29, 9, 10);

startMilis = beginTime.getTimeInMillis();

Calendar endTime = Calendar.getInstance();

endTime.set(2013, 1, 30, 10,10);

endMilis = endTime.getTimeInMillis();

ContentResolver cr = getContentResolver();

ContentValues values = new ContentValues();

values.put(Events.CALENDAR_ID, mCalId);

values.put(Events.DTSTART, startMilis);

values.put(Events.DTEND, endMilis);

values.put(Events.TITLE,"Special Event");

values.put(Events.DESCRIPTION, "Group Activity");

values.put(Events.EVENT_TIMEZONE, "America/Los_Angeles");

Uri uri = cr.insert(Events.CONTENT_URI, values);

Toast.makeText(this, "Event Added", Toast.LENGTH_LONG).show();

}

這是我的代碼片段,我想在Android月曆中添加事件.代碼工作正常.

但是在裝置上測試時,指定的事件實際上并沒有被添加,也沒有出現在calendar.Code完全沒有錯誤,我提供了必要的權限.

有人可以告訴我我在哪裡做錯了.

解決方法:

如果沒有錯誤,但事件未出現在月曆中,

我懷疑罪魁禍首是mCalId = 1.

裝置可以有多個月曆.不能保證id == 1的那個是主要的那個(即使你使用了主要的那個,使用者也可能在多個不同的月曆中有事件 – 例如個人和工作).

是以,這取決于你想要做什麼.你應該:

>使用主月曆(具有IS_PRIMARY的月曆,但請參見上面的警告),或

>讓使用者首先選擇一個月曆(僅當查詢Calendars table時找到多個月曆),然後再使用該calendar_id.

标簽:android,events,android-syncadapter,android-calendar

來源: https://codeday.me/bug/20190629/1329205.html