title: Read phone number along with address using Intent.ACTION_PICK
body: <p>I want to read contact info from build contact picker. I am reading phone number,street,email and address.It's coming wrong.</p>
  
  <p>Following is the code to <strong>invoke contact picker</strong>:</p>
  
  <pre><code>Intent contactPickerIntent = new Intent(Intent.ACTION_PICK, ContactsContract.CommonDataKinds.Phone.CONTENT_URI);
  context.startActivityForResult(contactPickerIntent, REQUEST_ID_CONTACT_PICKER); 
  </code></pre>
  
  <p>Following is the <code>OnActivityResult</code> method's code, where i am <code>fetching contact</code> info from cursor:</p>
  
  <pre><code>Uri contactURI = intent.getData();
                      Cursor cursor = activity.getContentResolver().query(contactURI, null, null, null, null);
  int count = cursor.getCount();
  // here value of count is 1, so need to do cursor.moveToNext() to go to selected record.
  if (cursor.moveToNext()) {
              String givenName = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
              String familyName =  cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredName.FAMILY_NAME));
              String displayName =  cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME));
              String middleName =  cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredName.MIDDLE_NAME));
  
              int contactType = cursor.getInt(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.TYPE));
              String phoneNo = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
              String poBox = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.POBOX));
              String street = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.STREET));
              String city = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.CITY));
              String state = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.REGION));
              String postalCode = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.POSTCODE));
              String country = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.COUNTRY));
              String neighborhood = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.NEIGHBORHOOD));
              String formattedAddress = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.FORMATTED_ADDRESS));
              String emailId = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
  
          }
  </code></pre>
  
  <p>I am unable to identify, why i am getting wrong data (i.e. contact number) in street, emailId etc column.</p>
  
  <blockquote>
    <p>Here cursor.moveToNext() is required to go to first row, so it's
    obviously required, and my question is not that i am getting different
    record, i am getting mobile number in street, emailId column, which is
    wrong.</p>
  </blockquote>