我正在开发一款应用程序,其中之一的功能是允许用户创建提醒并保存在他的日历中。
当前代码首先创建本地日历,稍后根据请求将事件静默地插入到其中(不打开日历应用)。
问题在于,在创建日历时,在某些设备上,添加以下字段可行(对于三星),而在其他设备上则无法直接添加:
由于这些代码在一些设备上无法执行,所以编写的代码首先尝试使用它们创建日历,如果失败,则进行不带代码的创建。
以上代码的结果是:除了三星之外的大多数设备都会创建损坏的日历,没有必需的字段,如ACCOUNT_NAME。
这意味着:本机Google日历应用程序总是崩溃,无法打开,即使我删除我的应用程序(因为已经创建了损坏的日历)。
此外,似乎我无法删除这个损坏的日历,因为我没有这些必要的字段。
我该怎么办才能解决它?
现在 - 我想做的就是能够从用户手机上编程删除这个损坏的日历,以便可以再次使用日历应用程序。
谢谢!
当前代码首先创建本地日历,稍后根据请求将事件静默地插入到其中(不打开日历应用)。
问题在于,在创建日历时,在某些设备上,添加以下字段可行(对于三星),而在其他设备上则无法直接添加:
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日历应用程序总是崩溃,无法打开,即使我删除我的应用程序(因为已经创建了损坏的日历)。
此外,似乎我无法删除这个损坏的日历,因为我没有这些必要的字段。
我该怎么办才能解决它?
现在 - 我想做的就是能够从用户手机上编程删除这个损坏的日历,以便可以再次使用日历应用程序。
谢谢!