Created
July 4, 2014 09:48
-
-
Save Antarix/096a4566ab667a10b6e2 to your computer and use it in GitHub Desktop.
Fetch Contacts from phone you need to add permissions to <uses-permission android:name="android.permission.READ_CONTACTS" />
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import android.app.Activity; | |
import android.content.ContentResolver; | |
import android.database.Cursor; | |
import android.net.Uri; | |
import android.os.Bundle; | |
import android.provider.ContactsContract; | |
import android.widget.TextView; | |
public class FetchContactActivity extends Activity { | |
public TextView outputText; | |
@Override | |
public void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
setContentView(R.layout.main); | |
outputText = (TextView) findViewById(R.id.textView1); | |
fetchContacts(); | |
} | |
public void fetchContacts() { | |
String phoneNumber = null; | |
String email = null; | |
Uri CONTENT_URI = ContactsContract.Contacts.CONTENT_URI; | |
String _ID = ContactsContract.Contacts._ID; | |
String DISPLAY_NAME = ContactsContract.Contacts.DISPLAY_NAME; | |
String HAS_PHONE_NUMBER = ContactsContract.Contacts.HAS_PHONE_NUMBER; | |
Uri PhoneCONTENT_URI = ContactsContract.CommonDataKinds.Phone.CONTENT_URI; | |
String Phone_CONTACT_ID = ContactsContract.CommonDataKinds.Phone.CONTACT_ID; | |
String NUMBER = ContactsContract.CommonDataKinds.Phone.NUMBER; | |
Uri EmailCONTENT_URI = ContactsContract.CommonDataKinds.Email.CONTENT_URI; | |
String EmailCONTACT_ID = ContactsContract.CommonDataKinds.Email.CONTACT_ID; | |
String DATA = ContactsContract.CommonDataKinds.Email.DATA; | |
StringBuffer output = new StringBuffer(); | |
ContentResolver contentResolver = getContentResolver(); | |
Cursor cursor = contentResolver.query(CONTENT_URI, null,null, null, null); | |
// Loop for every contact in the phone | |
if (cursor.getCount() > 0) { | |
while (cursor.moveToNext()) { | |
String contact_id = cursor.getString(cursor.getColumnIndex( _ID )); | |
String name = cursor.getString(cursor.getColumnIndex( DISPLAY_NAME )); | |
int hasPhoneNumber = Integer.parseInt(cursor.getString(cursor.getColumnIndex( HAS_PHONE_NUMBER ))); | |
if (hasPhoneNumber > 0) { | |
output.append("\n First Name:" + name); | |
// Query and loop for every phone number of the contact | |
Cursor phoneCursor = contentResolver.query(PhoneCONTENT_URI, null, Phone_CONTACT_ID + " = ?", new String[] { contact_id }, null); | |
while (phoneCursor.moveToNext()) { | |
phoneNumber = phoneCursor.getString(phoneCursor.getColumnIndex(NUMBER)); | |
output.append("\n Phone number:" + phoneNumber); | |
} | |
phoneCursor.close(); | |
// Query and loop for every email of the contact | |
Cursor emailCursor = contentResolver.query(EmailCONTENT_URI, null, EmailCONTACT_ID+ " = ?", new String[] { contact_id }, null); | |
while (emailCursor.moveToNext()) { | |
email = emailCursor.getString(emailCursor.getColumnIndex(DATA)); | |
output.append("\nEmail:" + email); | |
} | |
emailCursor.close(); | |
} | |
output.append("\n"); | |
} | |
outputText.setText(output); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment