具有Sense UI的Android手机上的日历ContentProvider URL

我有一个将事件添加到设备上日历的应用程序.日历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.

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

最佳答案
使用此代码获取您平台的URI

private String getCalendarUriBase() {

            String calendarUriBase = null;
            Uri calendars = Uri.parse("content://calendar/calendars");
            Cursor managedCursor = null;
            try {
                managedCursor = managedQuery(calendars,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);
                } catch (Exception e) {
                }
                if (managedCursor != null) {
                    calendarUriBase = "content://com.android.calendar/";
                }
            }
            return calendarUriBase;
        }

相关文章

Android 如何解决dialog弹出时无法捕捉Activity的back事件 在...
Android实现自定义带文字和图片的Button 在Android开发中经常...
Android 关于长按back键退出应用程序的实现最近在做一个Andr...
android自带的时间选择器只能精确到分,但是对于某些应用要求...