创建CalendarProvider上设备上其他应用程序无法访问的日历

问题描述:

AFAIK CalendarProvider是一个存储,其中任何应用程序都可以读取/写入/编辑具有读/写权限的任何日历。创建CalendarProvider上设备上其他应用程序无法访问的日历

我想创建一个日历并保存事件,但我不希望设备上的任何应用程序能够访问由我的应用程序创建的日历和事件。

CalendarProvider可以吗?如果可能,如何?

不,这是不可能的。您无法在CalendarProvider中创建日历,并确保没有应用可以删除或编辑它。

但是,有一个名为CALENDAR_ACCESS_LEVEL的列,您必须在创建新日历时进行设置。您可以将此列设置为CAL_ACCESS_READCAL_ACCESS_NONE。这表明这个日历是只读的。

设置此列不会阻止其他应用程序删除或更新日历或向其添加事件。但是我之前已经测试过这一点,所有官方日历应用都会考虑这个字段,并且不允许用户在只读日历中编辑只读日历或事件。例如,来自Gmail账户的生日和假日日历都有CAL_ACCESS_READ。 (你可以查询看到这个)。

+0

谢谢米萨!我也相信。但即使如此,我仍在努力寻找是否可能。 –