Я разрабатываю приложение для Android, которое создает календарь на телефоне при первой установке приложения. Когда я создаю событие, программно или с помощью самого устройства, оно появляется в календаре, но его заголовок отсутствует. Я тестирую свой код на HTC Nexus One.
Поскольку я получаю то же поведение при создании события через мой код или через устройство, я подозреваю, что в коде, который я написал, возникла проблема с созданием новой учетной записи в календаре. Я делаю это, добавляя новое поле в таблицу calendars базы данных calendar.db , URI которой: "content: //com.android.calendar/calendars"
private Uri addNewCalendar() {
if (!calendarExists()) {
ContentResolver contentResolver = mContext.getContentResolver();
ContentValues cv = new ContentValues();
cv.put(Calendar.Calendars._SYNC_ACCOUNT, mAccount.name);
cv.put(Calendar.Calendars._SYNC_ACCOUNT_TYPE, mAccount.type);
cv.put(Calendar.Calendars._SYNC_TIME, new Date().getTime());
cv.put(Calendar.Calendars.URL, "http://www.example.com");
cv.put(Calendar.Calendars.NAME, mAccount.name);
cv.put(Calendar.Calendars.DISPLAY_NAME, mAccount.name);
cv.put(Calendar.Calendars.HIDDEN, 0);
cv.put(Calendar.Calendars.COLOR, 14417920);
cv.put(Calendar.Calendars.ACCESS_LEVEL, 700);
cv.put(Calendar.Calendars.SELECTED, 1);
cv.put(Calendar.Calendars.SYNC_EVENTS, 1);
cv.put(Calendar.Calendars.TIMEZONE, "GMT");
cv.put(Calendar.Calendars.OWNER_ACCOUNT, mAccount.name);
Uri uri = contentResolver.insert(Calendar.Calendars.CONTENT_URI.buildUpon().build(), cv);
return uri;
}
return null;
}
Кроме того, при проверке, действительно ли поле заголовка события записано в базе данных, я обнаружил, что оно сохранено правильно. Я вижу заголовок события, когда пытаюсь изменить событие на телефоне.
У кого-нибудь есть идея, почему у меня такая проблема? Если вам нужна дополнительная информация, пожалуйста, дайте мне знать.