Я пытаюсь прочитать контакты устройства Android в формате VCard с помощью Android Api.
Я нашел одну ссылку для того же:
Android contatcs vcard API
и пытается написать тот же код, но он не работает, так как я не могу получить ключ поиска:
ContentResolver cr = getContentResolver();
Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI,
null, null, null, null);
int num = cur.getCount(); // I get 2 , as there are two contacts
String lookupKey = cur.getString(cur.getColumnIndex(Contacts.LOOKUP_KEY));
// The above line gives error : android.database.CursorIndexOutOfBoundsException:
// Index -1 requested, with a size of 2
Uri uri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_VCARD_URI, lookupKey);
AssetFileDescriptor fd = resolver.openAssetFileDescriptor(uri, "r");
FileInputStream fis = fd.createInputStream();
byte[] b = new byte[(int)fd.getDeclaredLength()];
fis.read(b);
String vCard = new String(b);
sb.append(vCard);
Может кто-нибудь сказать, пожалуйста, как получить ключ поиска для вышеуказанного кода, или есть какой-нибудь другой способ получения контактов в формате VCard с использованием Android API.