跳轉(zhuǎn)聯(lián)系人頁(yè)面,選取聯(lián)系人之后,返回聯(lián)系人姓名以及聯(lián)系人電話,沒(méi)有電話號(hào)嗎的不會(huì)返回,一個(gè)聯(lián)系人有多個(gè)電話號(hào)碼時(shí)會(huì)分多個(gè)返回
//跳轉(zhuǎn)聯(lián)系人Intent
var intent = Intent(Intent.ACTION_PICK, ContactsContract.CommonDataKinds.Phone.CONTENT_URI)
獲取到聯(lián)系人uri之后,通過(guò)contentResolver查詢聯(lián)系人姓名以及電話
val contactUri = result.data?.data
contactUri?.let {
contentResolver.query(contactUri, null, null, null, null).use { cursor ->
if (cursor?.moveToFirst() == true) {
var number = ""
var name = ""
val numberIndex =
cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)
if (numberIndex != -1) {
number = cursor.getString(numberIndex)
if (number.isNotEmpty()) {
binding.etPhone.setText(number.replace(" ", ""))
}
}
val nameIndex =
cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)
if (nameIndex != -1) {
name = cursor.getString(nameIndex)
}
Log.e("TAG", "$name:$number")
}
}
}
完整代碼:
registerForActivityResult(
ActivityResultContracts.StartActivityForResult(), activityResultRegistry
) { result ->
val contactUri = result.data?.data
contactUri?.let {
contentResolver.query(contactUri, null, null, null, null).use { cursor ->
if (cursor?.moveToFirst() == true) {
var number = ""
var name = ""
val numberIndex =
cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)
if (numberIndex != -1) {
number = cursor.getString(numberIndex)
if (number.isNotEmpty()) {
binding.etPhone.setText(number.replace(" ", ""))
}
}
val nameIndex =
cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)
if (nameIndex != -1) {
name = cursor.getString(nameIndex)
}
Log.e("TAG", "$name:$number")
}
}
}
}.launch(Intent(Intent.ACTION_PICK, ContactsContract.CommonDataKinds.Phone.CONTENT_URI))