我正在尝试以编程方式更新日历事件,但我有一些问题。
我正在使用Google Android文档中的更新代码:https://developer.android.com/guide/topics/providers/calendar-provider.html#update-event
下面是我的代码:
ContentValues values = new ContentValues();
Uri updateUri = null;
// New end for event
values.put(CalendarContract.Events.DTEND, endMillis);
updateUri = ContentUris.withAppendedId(CalendarContract.Events.CONTENT_URI, eventID);
int rows = c.getContentResolver().update(updateUri, values, null, null);
Log.i("DEBUG_TAG", "Rows updated: " + rows);
但是行变量总是返回0,除非我进入应用程序设置,删除日历存储,添加新日历和新事件,然后当我尝试更新它时,它只起作用一次。如果我尝试添加另一个事件并在之后对其进行更新,rows将再次返回0。
有什么想法吗?
谢谢
请注意,我的应用程序是最低API级别17 (它不工作),但我尝试了API级别25,它可以工作,所以你有任何想法,如何添加到我的代码支持以前的Android版本?我还发现,经过一些测试后,它可以从API级别21开始工作。在下面,它不会。
编辑:我找到了一个解决方案,请在下面检查我的答案。
https://stackoverflow.com/questions/44331206
复制