Get Contact's Mobile, Work And Home Number In A String
I want to get the contact's(Saved in phonebook) mobile number, work number and home number. I want to set these numbers in my 3 edittext views. How to do this? Here is my code Curs
Solution 1:
try this link to get the contact details like phonenumber,name from phonebook. And check the answer posted by jon
public List<Person> getContactList(){
ArrayList<Person> contactList = newArrayList<Person>();
UricontactUri= ContactsContract.Contacts.CONTENT_URI;
String[] PROJECTION = newString[] {
ContactsContract.Contacts._ID,
ContactsContract.Contacts.DISPLAY_NAME,
ContactsContract.Contacts.HAS_PHONE_NUMBER,
};
StringSELECTION= ContactsContract.Contacts.HAS_PHONE_NUMBER + "='1'";
Cursorcontacts= getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, PROJECTION, SELECTION, null, null);
if (contacts.getCount() > 0)
{
while(contacts.moveToNext()) {
PersonaContact=newPerson();
intidFieldColumnIndex=0;
intnameFieldColumnIndex=0;
intnumberFieldColumnIndex=0;
StringcontactId= contacts.getString(contacts.getColumnIndex(ContactsContract.Contacts._ID));
nameFieldColumnIndex = contacts.getColumnIndex(PhoneLookup.DISPLAY_NAME);
if (nameFieldColumnIndex > -1)
{
aContact.setName(contacts.getString(nameFieldColumnIndex));
}
PROJECTION = newString[] {Phone.NUMBER};
finalCursorphone= managedQuery(Phone.CONTENT_URI, PROJECTION, Data.CONTACT_ID + "=?", newString[]{String.valueOf(contactId)}, null);
if(phone.moveToFirst()) {
while(!phone.isAfterLast())
{
numberFieldColumnIndex = phone.getColumnIndex(Phone.NUMBER);
if (numberFieldColumnIndex > -1)
{
aContact.setPhoneNum(phone.getString(numberFieldColumnIndex));
phone.moveToNext();
TelephonyManager mTelephonyMgr;
mTelephonyMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
if (!mTelephonyMgr.getLine1Number().contains(aContact.getPhoneNum()))
{
contactList.add(aContact);
}
}
}
}
phone.close();
}
contacts.close();
}
return contactList;
}
AND PERSON CLASS
publicclassPerson {
String myName = "";
String myNumber = "";
publicStringgetName() {
return myName;
}
publicvoidsetName(String name) {
myName = name;
}
publicStringgetPhoneNum() {
return myNumber;
}
publicvoidsetPhoneNum(Stringnumber) {
myNumber = number;
}
}
hope this helps you.
Post a Comment for "Get Contact's Mobile, Work And Home Number In A String"