6
連絡先を連絡先リストから取得する際に問題があります。私はこのコードを使用しています: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);
をしかし、私はException
を取得しています:
java.io.IOException: read failed: EINVAL (Invalid argument)
libcore.io.IoBridge.read(IoBridge.java:432)
いずれかがこれで私を助けることができますか?
あなたは全体のスタックトレースを投稿することができますか? –
こんにちはAnasBakez、私も同じ問題に直面しています。あなたが解決策を得たらそれを共有してください。 –
@abhishekkumargupta解決策が見つからない場合は、ファイルディスクリプタを使用しないでください。いくつかのデバイス/製造元で使用していないため、いくつかの問題に直面しています。プロバイダを手動で設定します。私はそれが助けることを願って – AnasBakez