HTC Sense 3.6 не показывает события календаря?
У меня есть приложение, которое запрашивает API экземпляров и событий календаря Google в Android 4.x. Я тестировал это на разных устройствах, и это работает, но по некоторым причинам это не работает на HTC Sense 3.6 (Android 4.0.3). Кто-нибудь еще может это подтвердить или кто-нибудь знает, что происходит?
Вот фрагмент кода, который работает на устройствах не Sense HTC:
Cursor instances = Instances.query(
context.getContentResolver(),
new String[]{Instances.EVENT_ID, Instances.BEGIN, Instances.END, Instances.SELF_ATTENDEE_STATUS},
startTime,
startTime+lengthInMillis);
.
.
.
long eventId = instances.getLong(instances.getColumnIndex(Instances.EVENT_ID));
Cursor events = context.getContentResolver().query(
ContentUris.withAppendedId(Events.CONTENT_URI, eventId),
new String[] {Events._ID, Events.CALENDAR_ID, Events.TITLE, Events.DESCRIPTION, Events.EVENT_LOCATION, Events.ALL_DAY, Events.AVAILABILITY},
null,
null,
null);
1 ответ
Решение
Очевидно, что HTC Sense 3.6 не нравится API Instances.query(), поэтому я создал URI вручную, выполнив следующее, и все заработало.
Uri.Builder builder = Instances.CONTENT_URI.buildUpon();
ContentUris.appendId(builder, startTime);
ContentUris.appendId(builder, startTime+lengthInMillis);
Cursor instances = context.getContentResolver().query(
builder.build(),
null,
null,
null,
null);