如何以编程方式删除自己创建的已损坏的日历?

5
我正在开发一款应用程序,其中之一的功能是允许用户创建提醒并保存在他的日历中。
当前代码首先创建本地日历,稍后根据请求将事件静默地插入到其中(不打开日历应用)。
问题在于,在创建日历时,在某些设备上,添加以下字段可行(对于三星),而在其他设备上则无法直接添加:
contentValues.put(CalendarContract.Calendars.ACCOUNT_NAME, ApplicationState.getCurrentUser().getFullName());
contentValues.put(CalendarContract.Calendars.ACCOUNT_TYPE, "LOCAL");
contentValues.put(CalendarContract.Calendars.CALENDAR_ACCESS_LEVEL, CalendarContract.Calendars.CAL_ACCESS_OWNER);
contentValues.put(CalendarContract.Calendars.OWNER_ACCOUNT, ApplicationState.getCurrentUser().getEmail());

由于这些代码在一些设备上无法执行,所以编写的代码首先尝试使用它们创建日历,如果失败,则进行不带代码的创建。
以上代码的结果是:除了三星之外的大多数设备都会创建损坏的日历,没有必需的字段,如ACCOUNT_NAME。
这意味着:本机Google日历应用程序总是崩溃,无法打开,即使我删除我的应用程序(因为已经创建了损坏的日历)。
此外,似乎我无法删除这个损坏的日历,因为我没有这些必要的字段。
我该怎么办才能解决它?
现在 - 我想做的就是能够从用户手机上编程删除这个损坏的日历,以便可以再次使用日历应用程序。
谢谢!
1个回答

0

尝试使用此应用程序删除有问题的日历

iCal Import/Export CalDAV

打开该应用程序,然后执行以下操作:

  1. 选择编辑日历

  2. 在类型:本地下选择您的有问题的日历

  3. 选择删除日历选项即可完成

希望这可以解决您的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接