AFAIK CalendarProvider是一个存储,任何应用都可以使用READ / WRITE权限读取/写入/编辑任何日历。
我想创建一个日历并保存活动,但我不希望设备上的任何应用程序能够访问我的应用程序创建的日历和事件。
CalendarProvider可以吗?如果可能,怎么做?
答案 0 :(得分:2)
不,不可能。您无法在CalendarProvider
中创建日历,并保证任何应用都无法删除或修改日历。
但是,在创建新日历时必须设置一个名为CALENDAR_ACCESS_LEVEL的列。您可以将此列设置为CAL_ACCESS_READ或CAL_ACCESS_NONE。这表示此日历是只读的。
设置此列并不会阻止其他应用删除或更新日历或向其添加事件。但我之前已对此进行了测试,并且所有官方日历应用都考虑了此字段,并且不允许用户在只读日历中编辑只读日历或事件。例如,来自gmail帐户的生日和假日日历都有CAL_ACCESS_READ
。 (您可以查询以查看此内容)。