Как я могу получить события контактов, синхронизированные из контактов Google без года?

Я использую приведенный ниже код для извлечения курсора для событий и контактов, и он отлично работает для событий с указанным годом. К сожалению, события, для которых установлены только день и месяц, не возвращаются этим запросом.

Я установил эти даты в Google Контактах для некоторых дней рождения контактов, и мне интересно, нужно ли мне использовать RawContacts а не ContactsContract, чтобы получить эти значения?

Обновление : Похоже, что события, введенные в телефон без года, извлекаются. Не извлекаются только события, добавленные через http://www.google.com/contacts . Я вижу эти события в приложении «Контакты» - они отображаются как что-то вроде - 05-23 .

String[] projection = new String[] {
    ContactsContract.Contacts._ID,
    ContactsContract.Contacts.DISPLAY_NAME,
    Event.CONTACT_ID,
    Event.START_DATE,
    Event.TYPE
};

Cursor c = mContext.getContentResolver().query(
    ContactsContract.Data.CONTENT_URI,
    projection,
    ContactsContract.Data.MIMETYPE + "= ?",
    new String[] { Event.CONTENT_ITEM_TYPE },
    Event.START_DATE);
c.moveToFirst();

int nameIndex = c.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);
int dateIndex = c.getColumnIndex(Event.START_DATE);

String name, date;
while (c.moveToNext()) {
    name = c.getString(nameIndex);
    date = c.getString(dateIndex);
    Log.d(TAG, "Event for " + name + " is " + date);
}

c.close();

7
задан David Snabel-Caunt 19 July 2011 в 17:26
поделиться