Android Studio (Kotlin)
contentResolver를 이용한 연락처 저장
애용쓰
2022. 4. 14. 22:54
https://developer.android.com/guide/topics/providers/contacts-provider
연락처 제공자 | Android 개발자 | Android Developers
연락처 제공자 연락처 제공자는 사람에 대한 데이터를 저장하는 기기의 중앙 리포지토리를 관리하는 강력하고 유연한 Android 구성요소입니다. 연락처 제공자는 기기의 주소록 애플리케이션에서
developer.android.com
private fun addContacts(name: String, tel: String) {
val p = ContentValues()
p.put(ContactsContract.RawContacts.ACCOUNT_TYPE, "com.google")
p.put(ContactsContract.RawContacts.ACCOUNT_NAME, "carrotgirl")
val rowContact = ctx.contentResolver.insert(ContactsContract.RawContacts.CONTENT_URI, p)
val rawContactId = ContentUris.parseId(rowContact!!)
// 연락처의 이름 지정
val value = ContentValues()
value.put(ContactsContract.Data.RAW_CONTACT_ID, rawContactId)
value.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE)
value.put(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, name)
ctx.contentResolver.insert(ContactsContract.Data.CONTENT_URI, value)
// 연락처의 전화번호 지정
val ppv = ContentValues()
ppv.put(ContactsContract.Data.RAW_CONTACT_ID, rawContactId)
ppv.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)
ppv.put(ContactsContract.CommonDataKinds.Phone.NUMBER, tel)
ppv.put(ContactsContract.CommonDataKinds.Phone.TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE)
ctx.contentResolver.insert(ContactsContract.Data.CONTENT_URI, ppv)
Toast.makeText(ctx,"$name 연락처가 저장되었습니다.", Toast.LENGTH_SHORT).show()
}