listę wyboru mozesz wywołać przez Intent
public static Intent getContactPickerIntent() {
return new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
}
public static long getIdFromPicker(Context context, Uri contactData) {
if (contactData == null) {
return -1;
}
Cursor cursor = null;
try {
cursor = context.getContentResolver().query(contactData, null, null, null, null);
if (cursor != null && cursor.moveToFirst()) {
return cursor.getLong(cursor.getColumnIndex(ContactsContract.Contacts._ID));
}
} catch (Exception e) {
} finally {
if (cursor != null && !cursor.isClosed()) {
cursor.close();
}
}
return -1;
}
private void startContactPicker() {
startActivityForResult(getContactPickerIntent(), CONTACT_PICKER_FINISH);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case CONTACT_PICKER_FINISH:
if (resultCode == RESULT_OK) {
long idFromPicker = getIdFromPicker(this, data.getData());
//masz id kontaktu mozesz pobrać reszt
}
break;
}
}