6
Tôi gặp sự cố khi nhận Danh bạ từ Danh sách liên hệ của tôi. Tôi đang sử dụng mã này:Đọc thông tin của Liên hệ bằng cách sử dụng Trình mô tả tệp trong 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);
Nhưng tôi nhận được Exception
:
java.io.IOException: read failed: EINVAL (Invalid argument)
libcore.io.IoBridge.read(IoBridge.java:432)
Bất kỳ một thể giúp tôi với điều này?
bạn có thể gửi toàn bộ stack trace? –
Xin chào AnasBakez, tôi cũng đang đối mặt với cùng một vấn đề. Nếu bạn có giải pháp thì hãy chia sẻ nó. –
@abhishekkumargupta nếu bạn vẫn không tìm được giải pháp, giải pháp không sử dụng bộ mô tả tập tin, vì tôi đã gặp phải một số vấn đề khi sử dụng nó, một số thiết bị/nhà sản xuất không sử dụng nó để tôi có được tất cả thông tin tôi muốn từ nội dung nhà cung cấp theo cách thủ công. tôi mong nó sẽ có ích – AnasBakez