Я создаю часы для Android Wear, которые будут отображать события календаря. На основании this page (и образца WatchFace
, предоставленного в SDK), мне удалось запросить следующие события за день и отобразить их на моем часовом поясе (ниже приведен код, который я использую для запроса событий).WearableCalendarContract query не возвращает повторяющиеся события
Проблема в том, что повторяющиеся события не возвращаются в курсоре и, таким образом, не отображаются на циферблате. Есть ли какой-либо параметр для добавления в запрос для получения повторяющихся событий?
private static final String[] PROJECTION = {
CalendarContract.Calendars._ID, // 0
CalendarContract.Events.DTSTART, // 1
CalendarContract.Events.DTEND, // 2
CalendarContract.Events.DISPLAY_COLOR, // 3
};
protected List<SpiralEvent> queryEvents() {
// event is a custom POJO object
List<Event> events = new ArrayList<>();
long begin = System.currentTimeMillis();
Uri.Builder builder = WearableCalendarContract.Instances.CONTENT_URI.buildUpon();
ContentUris.appendId(builder, begin);
ContentUris.appendId(builder, begin + DateUtils.DAY_IN_MILLIS);
final Cursor cursor = mService.getContentResolver()
.query(builder.build(),
PROJECTION,
null, // selection (all)
null, // selection args
null); // order
// get the start and end time, and the color
while (cursor.moveToNext()) {
long start = cursor.getLong(1);
long end = cursor.getLong(2);
int color = cursor.getInt(3);
events.add(new Event(start, end, color));
}
cursor.close();
return events;
}