0

我有一个应用程序可以查询 Android 4.x 中的谷歌日历实例和事件 API。我已经在各种设备上对此进行了测试,它可以工作,但由于某种原因,它在 HTC Sense 3.6 (Android 4.0.3) 上不起作用。其他人可以确认这一点,或者有人知道发生了什么吗?

以下是适用于非 HTC Sense 设备的代码片段:

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);
4

1 回答 1

0

显然 HTC Sense 3.6 不喜欢 Instances.query() API,所以我使用以下内容手动构建了 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);
于 2012-06-18T11:43:02.950 回答