sitecrawl
sitecrawl

Reputation: 405

Individual fields for StructuredPostal all return null

I am trying to get Android contact postal information using StructuredPostal. I have tried a number of different things, but I can't seem to get the individual fields of StructuredPostal to have any value other than null.

I can see the contact has the correct address in StructuredPostal.FORMATTED_ADDRESS. However, individual fields such as StructuredPostal.REGION or StructuredPostal.COUNTRY are all null.

Here's my current code:

private final String[] PROJECTION_ADDRESS = {
    ContactsContract.Contacts._ID,
    ContactsContract.CommonDataKinds.StructuredPostal.COUNTRY,
    ContactsContract.CommonDataKinds.StructuredPostal.REGION,
    ContactsContract.CommonDataKinds.StructuredPostal.CITY,
    ContactsContract.CommonDataKinds.StructuredPostal.FORMATTED_ADDRESS
};


Cursor addressCursor = context.getContentResolver().query(
        ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_URI,
        PROJECTION_ADDRESS,
        ContactsContract.CommonDataKinds.StructuredPostal.CONTACT_ID + " = '" + contactId + "' AND " +
                ContactsContract.CommonDataKinds.StructuredPostal.MIMETYPE + " = '" +
                ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_ITEM_TYPE + "'",
        null,
        ContactsContract.Data._ID
);

int regionIndex = addressCursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.REGION);
int countryIndex = addressCursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.COUNTRY);
int addressIndex = addressCursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.FORMATTED_ADDRESS);

while (addressCursor.moveToNext()) {
    String region = addressCursor.getString(regionIndex);
    String country = addressCursor.getString(countryIndex);
    String address = addressCursor.getString(addressIndex);
}

I can see the formatted address has "47 Main Street, Anytown, AL 00001, USA".

Why can't I get the individual address items?

Upvotes: 0

Views: 25

Answers (0)

Related Questions