0

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);
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 に答える