【发布时间】:2012-01-28 13:57:14
【问题描述】:
我正在开发将联系信息添加到 android 联系人列表的应用程序。如何以编程方式将邮政地址添加到 android 中的联系人?
【问题讨论】:
我正在开发将联系信息添加到 android 联系人列表的应用程序。如何以编程方式将邮政地址添加到 android 中的联系人?
【问题讨论】:
这个问题已经有一段时间了,但也许其他人仍然对此感兴趣。如何使用地址信息添加联系人:
import static android.provider.ContactsContract.Data;
import static android.provider.ContactsContract.Intents.Insert;
private void createContactIntent() {
Intent contactIntent = new Intent(ContactsContract.Intents.Insert.ACTION, ContactsContract.Contacts.CONTENT_URI);
contactIntent.setType(ContactsContract.Contacts.CONTENT_TYPE);
contactIntent.putExtra(Insert.NAME, "Sergio Mendes");
contactIntent.putExtra(Insert.COMPANY, "Company One");
contactIntent.putExtra(Insert.POSTAL, "Street 1, 9999 City, Country");
contactIntent.putExtra(Data.IS_SUPER_PRIMARY, 1);
startActivity(contactIntent);
}
请注意,三星 S5 / A5 等某些设备会将整个地址放入“街道”字段。如果您对此有任何优化,请告诉我。
【讨论】:
邮政地址与 DATA 表中的所有其他信息一样存储在
中MIMEtype == ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_ITEM_TYPE
请谷歌ContactsContract.CommonDataKinds.StructuredPostal查找所有信息。
如果您一般需要知道如何编辑联系人,我建议您查看 Android SDK 中的 SampleSyncAdapter。它是一个同步适配器,因此您无需学习所有内容,但 ContactManager 中的 updateContact 是一个很好的起点。
【讨论】: