ContentResolver:无法查询现有日历

时间:2013-10-31 14:23:19

标签: java android calendar android-calendar

我对此代码存在一个问题:

private static final String[] CALENDARS_PROPS_PROJECTION = { Calendars._ID, Calendars.NAME, Calendars.CALENDAR_DISPLAY_NAME, Calendars.CALENDAR_TIME_ZONE, Calendars.DELETED };

protected Uri getURI() {
     return CalendarContract.Calendars.CONTENT_URI
            .buildUpon().appendQueryParameter(android.provider.CalendarContract.CALLER_IS_SYNCADAPTER,   "true")
            .appendQueryParameter(Calendars.ACCOUNT_NAME, account.name)
            .appendQueryParameter(Calendars.ACCOUNT_TYPE, account.type)
            .build();
}

ContentResolver cr = ...
Cursor cur = cr.query(getURI(), CALENDARS_PROPS_PROJECTION, Calendars.DELETED + "=?", new String[] { "0" }, null);

此代码工作了几个月,我能够枚举设备上存在的所有日历,但突然它开始返回游标,getCount()返回0。

所有日历和事件都可以像以前一样通过S Planner应用程序显示。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

解决方案很简单:删除

.appendQueryParameter(Calendars.ACCOUNT_NAME, account.name)
.appendQueryParameter(Calendars.ACCOUNT_TYPE, account.type)