を使用してAndroidに連絡先を追加しようとしていgetContentResolver
ます。最初に私はArrayList
:を作成しました
ArrayList<ContentProviderOperation> ops =
new ArrayList<ContentProviderOperation>();
次に、配列リストに次のように入力します
int rawContactInsertIndex = ops.size();
ops.add(ContentProviderOperation.newInsert(RawContacts.CONTENT_URI)
.withValue(ContactsContract.RawContacts.ACCOUNT_NAME,accountName)
.build());
ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID,rawContactInsertIndex)
.withValue(ContactsContract.Data.MIMETYPE,ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE)
.withValue(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, name)
.build());
そして最後にtryブロックで
getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
これを実行しても、エラーや例外は発生しません。ただし、連絡先はAndroidの連絡先には表示されません。非表示の連絡先を取得すると、この連絡先を見つけることができました。何が悪いのか誰かが理解できますか?