我有一个应用程序可以查询Android 4.x中的Google日历实例和事件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);
答案 0 :(得分: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);