3

我有一个应用程序可以将事件添加到设备上的日历中。我有以下日历 ContentProvider 的 URL:

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

这些网址适用于 Nexus One,但不会在 HTC Desire/Incredible/Hero 上返回任何日历。可能所有带有 Sense UI 的手机。这发生在 2.1 和 2.2 上。

有没有人遇到过这个问题并且有任何解决方法?

4

1 回答 1

3

使用此代码获取您平台的 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;
        }
于 2011-02-25T13:06:54.640 回答