6

連絡先リストからの連絡先の取得に問題があります。私はこのコードを使用しています:

final Cursor Contact = cResolver.query(ContactsContract.Contacts.CONTENT_URI, null,
                ContactsContract.Contacts._ID +" = " + Contact_ID, null,null);
        Contact.moveToFirst();
        String lookupKey = Contact.getString(Contact
                .getColumnIndex(ContactsContract.Contacts.LOOKUP_KEY));

        Uri uri = Uri.withAppendedPath(
                ContactsContract.Contacts.CONTENT_VCARD_URI, lookupKey);

        AssetFileDescriptor fd = null;
        FileInputStream fis = null;

        fd = cResolver.openAssetFileDescriptor(uri, "_ID");
        fis = fd.createInputStream();
        byte[] buf = new byte[(int) fd.getDeclaredLength()];
        fis.read(buf);
        String vcardstring = new String(buf);

しかし、私は得ていExceptionます:

java.io.IOException: read failed: EINVAL (Invalid argument)
libcore.io.IoBridge.read(IoBridge.java:432)

誰でもこれで私を助けることができますか?

4

1 に答える 1