В Android 4.0 календарь находится в том же Uri, что и в Android 2.3.Поэтому я прикрепляю свой код на случай, если у других людей возникнет такая же проблема.
public void addToCalendar(Context ctx, final String title, final String comment, final long dtstart, final long dtend) {
final ContentResolver cr = ctx.getContentResolver();
Cursor cursor ;
cursor = cr.query(Uri.parse("content://com.android.calendar/calendars"), new String[]{ "_id","calendar_displayName" }, null, null, null);
/*if (Integer.parseInt(Build.VERSION.SDK) == 8 )
cursor = cr.query(Uri.parse("content://com.android.calendar/calendars"), new String[]{ "_id", "displayname" }, null, null, null);
*/
//Get all the calendar ids and name available in the phone
if ( cursor.moveToFirst() ) {
final String[] calNames = new String[cursor.getCount()];
final int[] calIds = new int[cursor.getCount()];
for (int i = 0; i < calNames.length; i++) {
calIds[i] = cursor.getInt(0);
calNames[i] = cursor.getString(1);
cursor.moveToNext();
}
//Creation of a new event in calendar whose position is 0 on the phone
ContentValues cv = new ContentValues();
cv.put("calendar_id", calIds[0]);
cv.put("title", title);
cv.put("dtstart", dtstart );
cv.put("dtend", dtend);
cv.put("eventTimezone","Spain");
cv.put("description", comment );
//Insertion on the events of the calendar
cr.insert(Uri.parse("content://com.android.calendar/events"), cv);
/*Uri newEvent ;
if (Integer.parseInt(Build.VERSION.SDK) == 8 )
newEvent = cr.insert(Uri.parse("content://com.android.calendar/events"), cv);
*/
finish();
}
cursor.close();
}
У вас есть вся информация в: http://developer.android.com/guide/topics/providers/calendar-provider.html, как сказал Джон ранее.