特定の連絡先 ID を使用して連絡先データベースに連絡先を追加しようとしています (連絡先の詳細を取得するために vcf ファイルを使用しています)。連絡先 ID はファイル名 (Dani_13) に保存されており、この連絡先をその連絡先の元のエントリ。私は以下のコードを使用していますが、機能していません:
String [] s = (vcard_file.getName()).split(Pattern.quote("_"));
String [] s2 = s[(s.length)-1].split(Pattern.quote("."));
// int rawContactInsertIndex=ops.size();
int id = Integer.getInteger(s2[0]);
ops.add(ContentProviderOperation
.newInsert(ContactsContract.RawContacts.CONTENT_URI)
.withValue(ContactsContract.RawContacts.ACCOUNT_TYPE, null)
.withValue(ContactsContract.RawContacts.ACCOUNT_NAME, null)
.build());
ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, id)
.withValue(ContactsContract.Data.MIMETYPE,ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_ITEM_TYPE)
.withValue(ContactsContract.CommonDataKinds.StructuredPostal.FORMATTED_ADDRESS, null)
.withValue(ContactsContract.CommonDataKinds.StructuredPostal.TYPE, ContactsContract.CommonDataKinds.StructuredPostal.TYPE_WORK)
.withValue(ContactsContract.CommonDataKinds.StructuredPostal.STREET, street)
.withValue(ContactsContract.CommonDataKinds.StructuredPostal.CITY, city)
.withValue(ContactsContract.CommonDataKinds.StructuredPostal.REGION, state)
.withValue(ContactsContract.CommonDataKinds.StructuredPostal.POSTCODE, zipcode)
.withValue(ContactsContract.CommonDataKinds.StructuredPostal.COUNTRY, country)
//.withValue(StructuredPostal.TYPE, StructuredPostal.TYPE_WORK)
.build());