Android在4.0之后开放了Calendar Provider 相关的api。 在4.0之前的版本中如果想要通过Calendar相关的方法访问Calendar Provider时, 需要注意Calendar的Uri在2.0版本前后有变化, 由2.0之前的"content://calendar/calendars"变化为"content://com.android.calendar/calendars". 在编程时需要按下面的代码获取Uri, 否则会产生“Failed to find provider info for calendar”的错误.
Uri calendarUri;
Uri eventUri;
if (android.os.Build.VERSION.SDK_INT <= 7 )
{
//the old way
calendarUri = Uri.parse("content://calendar/calendars");
eventUri = Uri.parse("content://calendar/events");
}
else
{
//the new way
calendarUri = Uri.parse("content://com.android.calendar/calendars");
eventUri = Uri.parse("content://com.android.calendar/events");
}