6
Tengo problemas para obtener Contactos de mi lista de contactos. Estoy usando este código:Lectura de la información de Contact usando File Descriptor en android
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);
Pero estoy Exception
:
java.io.IOException: read failed: EINVAL (Invalid argument)
libcore.io.IoBridge.read(IoBridge.java:432)
¿Puede alguien ayudarme con esto?
Se puede publicar todo el seguimiento de la pila? –
Hola AnasBakez, también estoy enfrentando el mismo problema. Si tienes la solución, por favor, compártela. –
@abhishekkumargupta si aún no encuentra la solución, la solución es no utilizar el descriptor de archivo, porque he tenido problemas para usarlo, algunos dispositivos/fabricantes no lo usan, así que ahora obtengo toda la información que deseo del contenido proveedor de forma manual. espero que ayude – AnasBakez