Skip to content

Instantly share code, notes, and snippets.

@hitenpratap
Created December 2, 2014 19:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hitenpratap/bced4d3f10310bdfa643 to your computer and use it in GitHub Desktop.
Save hitenpratap/bced4d3f10310bdfa643 to your computer and use it in GitHub Desktop.
fetch all Postal Addresses associated with particular Contact Id
private Map<String,String> fetchAddresses(String id,ContentResolver cr){
Cursor addressDataCursor = cr.query(ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_URI, null,
ContactsContract.CommonDataKinds.StructuredPostal.CONTACT_ID + "=?", new String[]{id}, null);
if (addressDataCursor.getCount() > 0) {
Map<String,Map<String,String>> addressMap = new HashMap<String, Map<String, String>>();
while (addressDataCursor.moveToNext()) {
Map<String,String> tempAddressMap = new HashMap<String,String>();
String addressData = addressDataCursor.getString(addressDataCursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.DATA));
String addressType = addressDataCursor.getString(addressDataCursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.TYPE));
String customLabel = addressDataCursor.getString(addressDataCursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.LABEL));
CharSequence addressTypeLabel = ContactsContract.CommonDataKinds.StructuredPostal.getTypeLabel(context.getResources(), addressDataCursor.getInt(addressDataCursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.TYPE)), customLabel);
tempAddressMap.put((String) addressTypeLabel,addressData); //will contain label and Address
addressMap.put(addressType,tempAddressMap); //will contail address Id and map of label and number
}
}
return addressMap;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment