Get Contacts Mobile Number Only
There have been several questions on SO regarding getting Contacts numbers using the Contacts API but I'd like to know if there is a way to identify that the number retrieved is a
Solution 1:
I stumbled upon a blog article which gives a pretty good explanation of using the ContactsContract api here.
So, in my example above, I changed part of my code above to this:
while (phones.moveToNext())
{
int phoneType = phones.getInt(phones.getColumnIndex(Phone.TYPE));
if (phoneType == Phone.TYPE_MOBILE)
{
phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DATA));
phoneNumber = phoneNumber.replaceAll("\\s", "");
break;
}
}
This loops around all the phones for an individual contact and if the type is Phone.TYPE_MOBILE then it takes this one.
Hope this helps someone with the same issue I had.
Solution 2:
The original query cursor = managedQuery(intent.getData(), projection, selection, null, null); should be able to handle filter for you. I am trying to do the same thing. I will post my findings when complete. If anyone knows how to do this using the selection clause in the third parameter. I would love to know the answer.
Post a Comment for "Get Contacts Mobile Number Only"