[英]How to correctly update Android recurring calendar events
我目前正在使用以下命令更新我的事件:
contentResolver.update(ContentUris.withAppendedId(Events.CONTENT_URI,eventId),values,null,null)
在此之后,通過查詢我的實例
adb shell content query --uri content://com.android.calendar/instances/when/1598918400000/1599091200000 --where "calendar_id=\'3\'" --projection calendar_id:title:_id:event_id
修改后的事件實例也立即可用!
但是,如果我更新一個事件(只是標題)並包含一個規則,則事件本身會更新,但實例不會!
adb shell content query --uri content://com.android.calendar/events --where "calendar_id=\'3\'" --projection calendar_id:title:_id
包含我最新的修改,但是
adb shell content query --uri content://com.android.calendar/instances/when/1598918400000/1599091200000 --where "calendar_id=\'3\'" --projection calendar_id:title:_id:event_id
然后為重復事件為空
不知何故,我不知道為什么,但如果我刪除任何其他重復事件,我的實例會重新創建,然后包含之前重復事件中的正確實例。
所以我目前的解決方案和我不喜歡的解決方案是在修改后插入一個臨時的假重復規則,然后立即再次刪除它......
有誰知道,我做錯了什么,為什么這只發生在重復發生的事件中?
我終於找到了原因......原因與這個stackoverflow鏈接Android:Not All Instances of Recurring Event Saved相同
當您更新/插入您的重復事件時,請確保您沒有在不久之前查詢具有錯誤開始和結束日期的實例...
如果你這樣做,結果,你的重復事件將被保存,但你不能正確查詢......似乎一個糟糕的開始/結束查詢會破壞實例查詢系統一段時間......刪除另一個重復事件或打開官方谷歌日歷應用程序,似乎恢復了這種狀態...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.