我通过Intent添加联系人,无法弄清楚如何将城市添加到邮政地址。使用ContactsContract.Intents.Insert.POSTAL作为键,允许我将地址放在:
intent.putExtra(ContactsContract.Intents.Insert.POSTAL ,cm.getAddress());
但我不确定如何添加城市。在API中我看到:
ContactsContract.CommonDataKinds.StructuredPostal.CITY
但我不确定如何使用它。
感谢您提出任何想法。我搜索了演示,但找不到任何东西。
此致 朱利。
答案 0 :(得分:2)
我正在通过ContentResolver更新联系人的邮政地址。如果它有帮助,这是我的工作代码:
ContentValues cv = new ContentValues();
cv.put(Data.RAW_CONTACT_ID, contactId);
cv.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_ITEM_TYPE);
cv.put(ContactsContract.CommonDataKinds.StructuredPostal.STREET, streetAddress);
cv.put(ContactsContract.CommonDataKinds.StructuredPostal.CITY, city);
cv.put(ContactsContract.CommonDataKinds.StructuredPostal.REGION, province);
cv.put(ContactsContract.CommonDataKinds.StructuredPostal.POSTCODE, postalCode);
cv.put(ContactsContract.CommonDataKinds.StructuredPostal.COUNTRY, country);
int addressType = ContactsContract.CommonDataKinds.StructuredPostal.TYPE_HOME;
cv.put(ContactsContract.CommonDataKinds.StructuredPostal.TYPE, addressType);
try {
getContentResolver().insert(ContactsContract.Data.CONTENT_URI, cv);
} catch(Exception e) {
Log.i(TAG, e.getMessage());
}