Как программно получить последний вставленный идентификатор RawContacts после newInsert в адресную книгу? - PullRequest
1 голос
/ 27 октября 2011

Мне удалось вставить контакты в адресную книгу, и мне нужно сохранить ссылку на контакт в моем приложении. Я решил, что лучший способ сохранить ссылку - это получить идентификатор RawContacts ID.

Могу ли я напрямую получить идентификатор из адресной книги сразу после вставки нового контакта? Или мне нужно получить все записи и сравнить их с моими данными, чтобы получить идентификатор RawContacts ID?

Я делаю свою вставку, используя этот код:

ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
int rawContactInsertIndex = ops.size();
ops.add(ContentProviderOperation.newInsert(RawContacts.CONTENT_URI)
    .withValue(RawContacts.ACCOUNT_TYPE, null)
    .withValue(RawContacts.ACCOUNT_NAME, null)
    .withValue(RawContacts.AGGREGATION_MODE, RawContacts.AGGREGATION_MODE_DISABLED)
    .build());

Я ценю любые входные данные, будь то обходной путь или из API. Спасибо!

1 Ответ

8 голосов
/ 16 февраля 2012

вы можете использовать информацию, возвращаемую из getContentResolver () (которую вы все равно должны вызывать для добавления операций в БД. GetContentResolver () должна иметь среду try, catch.

...