I found on SO that to launch a filtered version of contact picker (which only shows contacts that have phone numbers), I can just use this:
Intent pickContactIntent = new Intent( Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI );
pickContactIntent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_TYPE);
startActivityForResult(pickContactIntent, CONTACT_PICKER_RESULT);
So this works. I'm just trying to figure out how to retrieve the name and phone number of the selected contact now, within the onActivityResult method:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// what goes here...
}
I've tried a number of different things inside onActivityResult, but the queries don't return the number.
Contact Picker is a feature in android that a developer can use to ask users to select a particular contact. The developer can then query details related to the selected contact and perform the required action. A sample video is given below to get an idea about what we are going to do in this article.
Available in Chrome 80 on Android, the Contact Picker API is an on-demand API that allows users to select entries from their contact list and share limited details of the selected entries with a website.
Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.CommonDataKinds.Phone.CONTENT_URI);
startActivityForResult(intent, 1);
String phoneNo = null;
Uri uri = data.getData();
Cursor cursor = getContentResolver().query(uri, null, null, null, null);
if (cursor.moveToFirst()) {
int phoneIndex = cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);
phoneNo = cursor.getString(phoneIndex);
}
curosr.close();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With