I am trying to allow the user to select a contact's phone number by using the default system contact selector. Min SDK is 11 and target is 19, this is the code I'm using the bring up the contact selector:
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_TYPE);
this.startActivityForResult(intent, 1);
This works and does bring up the contact selector activity. The problem is that this has different behavior based on the phone you're on. I understand this and that's okay, but there's one issue that I feel is a problem for the end user of the app. Here is how this works on two different phones:
Samsung Galaxy S2 running Cyanogenmod 10: Opens the contact selector activity and displays every single phone number for all contacts, so if a user has 2 phone numbers it would look like this
702-555-1212 Mobile Contact1Name
702-555-4321 Work Contact1Name
702-555-8879 Work Contact2Name
Samsung Galaxy S5 running Android 4.4.4: Opens the contact selector activity and displays only one entry per contact, regardless of how many phone numbers are tied to a contact. It looks like this
Contact1Name
Contact2Name
With the S5, it automatically selects the first or default phone number if there are multiple numbers for that contact. How can I get the S5 to behave like the S2 and show me every number for the user to select? I'm hoping I don't need to write my own contact selector activity.
NOTE: This answer, Selecting a number from user with multiple numbers when using the contact picker, is almost exactly what I'm doing but it does not work as expected between the two phones I've tested.