【Android】アドレス帳に連絡先を登録する
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
void addToAddressBook() { ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>(); int rawContactInsertIndex = ops.size(); ops.add(ContentProviderOperation .newInsert(RawContacts.CONTENT_URI) .withValue(RawContacts.ACCOUNT_TYPE, null) .withValue(RawContacts.ACCOUNT_NAME, null) .build()); /* 名前の設定 */ ops.add(ContentProviderOperation .newInsert(ContactsContract.Data.CONTENT_URI) .withValueBackReference(Data.RAW_CONTACT_ID, rawContactInsertIndex) .withValue(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE ) .withValue(StructuredName.FAMILY_NAME, "姓") .withValue(StructuredName.GIVEN_NAME, "名") .withValue(StructuredName.PHONETIC_FAMILY_NAME, "姓(ふりがな)") .withValue(StructuredName.PHONETIC_GIVEN_NAME, "名(ふりがな)") .build()); /* 電話番号の設定 */ ops.add(ContentProviderOperation .newInsert(ContactsContract.Data.CONTENT_URI) .withValueBackReference(Data.RAW_CONTACT_ID, rawContactInsertIndex) .withValue(ContactsContract.Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE) .withValue(Phone.NUMBER, "電話番号") .withValue(Phone.TYPE, Phone.TYPE_MOBILE) .build()); /* メールアドレスの設定 */ ops.add(ContentProviderOperation .newInsert(ContactsContract.Data.CONTENT_URI) .withValueBackReference(Data.RAW_CONTACT_ID, rawContactInsertIndex) .withValue(ContactsContract.Data.MIMETYPE, Email.CONTENT_ITEM_TYPE) .withValue(Email.DATA, "メールアドレス") .withValue(Email.TYPE, Email.TYPE_MOBILE) .build()); try { getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops); } catch (Exception e) { e.printStackTrace(); } } |
また、電話番号やメールアドレスなど一部のデータに設定されるラベルは、
29 |
.withValue(Phone.TYPE, Phone.TYPE_MOBILE) //電話番号の場合 |
の第 […]