skip to Main Content

How to get the only phone number from the device contact, not whats app and duo number, etc…

Example:
I got the device contact number, but that return

  1. Phone Number
  2. What’s App Number
  3. Google Duo Number etc…

Note: I need only a phone number from the local device contact.

val phones: Cursor? = contentResolver.query(
        ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
        null,
        ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = ?",
        arrayOf(contactId),
        null
    )

// This will return list of contact number
val phoneNumbers: Int = it.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)

2

Answers


  1. Reference:- https://developer.android.com/training/contacts-provider/retrieve-details

    The above Link has – ContactsContract.Data.DATA1
    that only retrieves the phone number
    checkout above link for more detail

    Login or Signup to reply.
  2. try this one i hope this will help you.

    //ContactsContract defines an extensible database of contact-related information
        var uri = ContactsContract.Data.CONTENT_URI
    
        val PROJECTION = arrayOf(
            ContactsContract.Data.CONTACT_ID,
            ContactsContract.Data.DISPLAY_NAME,
            ContactsContract.Data.PHOTO_URI,
            ContactsContract.Data.DATA1
        )
    
    
        var cursor =
            contentResolver.query(uri, PROJECTION, ContactsContract.Data.MIMETYPE + " = ?", arrayOf(
                ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE
            ), ContactsContract.Contacts.DISPLAY_NAME + " ASC ", null)
    
        while (cursor.moveToNext())
        {
            val contactId =
                cursor!!.getString(cursor!!.getColumnIndex(ContactsContract.Data.CONTACT_ID))
            val photo = cursor!!.getString(cursor!!.getColumnIndex(ContactsContract.Data.PHOTO_URI))
            val name = cursor!!.getString(cursor!!.getColumnIndex(ContactsContract.Data.DISPLAY_NAME))
            val phone = cursor!!.getString(cursor!!.getColumnIndex(ContactsContract.Data.DATA1))
        }
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search