使用Sense UI的Android手机上的日历ContentProvider URL

时间:2010-08-26 03:18:19

标签: android calendar htcsense

我有一个应用程序,它将事件添加到设备上的日历中。我有Calendar ContentProvider的以下网址:

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

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

以前是否有人遇到此问题并有任何解决方法?

1 个答案:

答案 0 :(得分: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;
        }