- Add uses-permission in AndroidManifest.xml
<uses-permission android:name="android.permission.READ_CONTACTS" />
- Create Contacts.java
public class Contacts {
String contactName = "";
String contactNumber = "";
public String getContactName() {
return contactName;
}
public void setContactName(String contactName)
{
this.contactName = contactName;
}
public String getContactNumber() {
return contactNumber;
}
public void setContactNumber(String
contactNumber) {
this.contactNumber = contactNumber;
}
}
- Add Method getContactList() in Activity
import android.provider.ContactsContract.Data;
private List<Contacts> getContactList() {
ArrayList<Contacts>
contactList = new
ArrayList<Contacts>();
@SuppressWarnings("unused")
Uri contactUri =
ContactsContract.Contacts.CONTENT_URI;
String[] PROJECTION = new String[] { ContactsContract.Contacts._ID,
ContactsContract.Contacts.DISPLAY_NAME,
ContactsContract.Contacts.HAS_PHONE_NUMBER, };
String SELECTION =
ContactsContract.Contacts.HAS_PHONE_NUMBER + "='1'";
Cursor cursorContacts =
getContentResolver().query(
ContactsContract.Contacts.CONTENT_URI, PROJECTION, SELECTION,
null, null);
if (cursorContacts.getCount() > 0) {
while (cursorContacts.moveToNext()) {
Contacts mContact = new Contacts();
int nameFieldColumnIndex = 0;
int numberFieldColumnIndex = 0;
String contactId =
cursorContacts.getString(cursorContacts
.getColumnIndex(ContactsContract.Contacts._ID));
nameFieldColumnIndex
= cursorContacts
.getColumnIndex(PhoneLookup.DISPLAY_NAME);
if (nameFieldColumnIndex > -1) {
mContact.setContactName(cursorContacts
.getString(nameFieldColumnIndex));
}
PROJECTION = new String[] { Phone.NUMBER };
final Cursor phone = managedQuery(Phone.CONTENT_URI,
PROJECTION,
Data.CONTACT_ID + "=?",
new String[] { String.valueOf(contactId)
}, null);
if (phone.moveToFirst()) {
while (!phone.isAfterLast()) {
numberFieldColumnIndex
= phone
.getColumnIndex(Phone.NUMBER);
if (numberFieldColumnIndex > -1) {
mContact.setContactNumber(phone
.getString(numberFieldColumnIndex));
phone.moveToNext();
contactList.add(mContact);
}
}
}
phone.close();
}
cursorContacts.close();
}
return contactList;
}
No comments:
Post a Comment