2012-05-30 3 views
0

У меня есть приложение, которое запрашивает экземпляры календаря Google и API событий в Android 4.x. Я тестировал это на разных устройствах, и он работает, но по какой-то причине он не работает на HTC Sense 3.6 (Android 4.0.3). Может ли кто-нибудь подтвердить это или кто-нибудь знает, что происходит?HTC Sense 3.6 не показывает события календаря?

Вот фрагмент кода, который работает на не-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

Видимо 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);