URL-адрес календаря ContentProvider на телефонах Android с интерфейсом Sense - PullRequest
3 голосов
/ 26 августа 2010

У меня есть приложение, которое добавляет событие в календарь на устройстве.У меня есть следующие URL-адреса для Календаря ContentProvider:

Pre Froyo: content://calendar/calendars
Froyo: content://com.android.calendar/calendars

Эти URL-адреса работают нормально для Nexus One, но не возвращают календари в HTC Desire / Incredible / Hero.Вероятно, все телефоны с интерфейсом Sense.Это происходит на 2.1 и 2.2.

Кто-нибудь сталкивался с этой проблемой раньше и есть какие-то обходные пути?

1 Ответ

3 голосов
/ 25 февраля 2011

используйте этот код для получения URI для вашей платформы

private String getCalendarUriBase() {

            String calendarUriBase = null;
            Uri calendars = Uri.parse("content://calendar/calendars");
            Cursor managedCursor = null;
            try {
                managedCursor = managedQuery(calendars, null, null, null, null);
            } catch (Exception e) {
            }
            if (managedCursor != null) {
                calendarUriBase = "content://calendar/";
            } else {
                calendars = Uri.parse("content://com.android.calendar/calendars");
                try {
                    managedCursor = managedQuery(calendars, null, null, null, null);
                } catch (Exception e) {
                }
                if (managedCursor != null) {
                    calendarUriBase = "content://com.android.calendar/";
                }
            }
            return calendarUriBase;
        }
...