我对此代码有疑问:
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应用程序查看所有日历和事件。
有任何想法吗?
最佳答案
解决方案很简单:删除
.appendQueryParameter(Calendars.ACCOUNT_NAME, account.name)
.appendQueryParameter(Calendars.ACCOUNT_TYPE, account.type)