【发布时间】:2023-01-04 17:12:36
【问题描述】:
我正在尝试从模拟器获取联系人列表,我几乎没有疑问。
-
出于某种原因
val email = it.getString(it.getColumnIndex(ContactsContract.CommonDataKinds.Email.ADDRESS))给了我电话号码而不是电子邮件。为什么? -
我怎样才能得到字符串电话/电子邮件类型?现在它给了我一个整数类型。 (例如 2- 移动、3- 工作等。)
这是我的代码:
fun initContacts(): List<Contact>{ val nameOfUser = ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME+ " ASC" val cursor = APP_ACTIVITY?.contentResolver?.query( ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, nameOfUser) cursor?.let{ while( cursor?.moveToNext()){ var id = it.getString(it.getColumnIndex(ContactsContract.Contacts._ID)) val name = it.getString(it.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)) val image = it.getString(it.getColumnIndex(ContactsContract.Contacts.PHOTO_URI)) val phone = it.getString(it.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)) val phoneType = it.getString(it.getColumnIndex(ContactsContract.CommonDataKinds.Phone.TYPE)) val phoneList = Phone(phoneType,phone) val email = it.getString(it.getColumnIndex(ContactsContract.CommonDataKinds.Email.ADDRESS)) val emailType = it.getString(it.getColumnIndex(ContactsContract.CommonDataKinds.Email.TYPE)) val emailList = Email(emailType,email) val newModel = Contact( id, name, " ", image, listOf(phoneList), listOf(emailList) ) if(!arrayContacts.contains(newModel)) arrayContacts.add(newModel)}
【问题讨论】: