Der folgende Code funktioniert und die Liste wird ausgefüllt.
Nur Problem, statt der E-Mail-Adresse wird die Telefonnummer angezeigt.
/>Kann das nicht herausfinden.
Code: Select all
private fun getContacts() {
arrayList.clear()
val cursor = this.contentResolver
.query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
arrayOf(
ContactsContract.CommonDataKinds.Phone.CONTACT_ID,
ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME_PRIMARY,
ContactsContract.CommonDataKinds.Phone.NUMBER,
ContactsContract.CommonDataKinds.Photo.PHOTO_URI,
ContactsContract.CommonDataKinds.Email.ADDRESS,
),null,null,
ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME_PRIMARY
)
while (cursor!!.moveToNext()) {
val contactID = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.Phone.CONTACT_ID))
val contactName = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME_PRIMARY))
val contactNumber = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.Phone.NUMBER))
val photo_uri = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.Phone.PHOTO_URI))
val contactEmail = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.Email.ADDRESS))
val obj = ContactModel()
obj.contid=contactID
obj.contname = contactName
obj.contnumber = contactNumber
if (contactEmail != null) {
obj.contemail=contactEmail
} else {
obj.contemail="No Email"
}
if(photo_uri != null){
obj.contPhoto = MediaStore.Images.Media.getBitmap(contentResolver,Uri.parse(photo_uri))
}
arrayList.add(obj)
}
rcvAdapter.notifyDataSetChanged()
cursor.close()
}