【问题标题】:How do I delete my own custom corrupted calendar programmatically?如何以编程方式删除我自己的自定义损坏日历?
【发布时间】:2023-03-20 09:40:01
【问题描述】:

我正在开发一个应用程序,除其他外,它允许用户创建提醒并将它们保存在他的日历中。

当前代码首先创建一个本地日历,然后根据请求悄悄地向其中插入事件(无需打开日历应用程序)。

问题是在创建日历期间,在某些设备上,添加以下字段可以工作(在三星上),而在其他设备上则无法直接添加:

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 等必填字段。

这意味着:本地谷歌日历应用程序一直崩溃,并且无法打开,即使我删除了我的应用程序(因为已经创建了损坏的日历)。

此外,我似乎无法删除这个损坏的日历,因为我没有那些必要的字段..

我能做些什么来解决它?

现在 - 我要做的就是能够以编程方式从用户的手机中删除这个损坏的日历,以便再次使用日历应用程序。

谢谢!

【问题讨论】:

    标签: android google-calendar-api android-permissions calendarcontract


    【解决方案1】:

    尝试使用此应用删除故障日历

    iCal Import/Export CalDAV

    打开应用程序并执行以下操作:

    1. 选择编辑日历

    2. 在 Type:Local 下选择错误的日历

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

    希望这对您的问题有所帮助。

    【讨论】:

      猜你喜欢
      • 2011-02-05
      • 1970-01-01
      • 2010-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-21
      • 2012-12-02
      • 1970-01-01
      相关资源
      最近更新 更多