【问题标题】:How to add postal address to contacts in android programmaticaly?如何以编程方式将邮政地址添加到android中的联系人?
【发布时间】:2012-01-28 13:57:14
【问题描述】:

我正在开发将联系信息添加到 android 联系人列表的应用程序。如何以编程方式将邮政地址添加到 android 中的联系人?

【问题讨论】:

    标签: android android-contacts


    【解决方案1】:

    这个问题已经有一段时间了,但也许其他人仍然对此感兴趣。如何使用地址信息添加联系人:

    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 等某些设备会将整个地址放入“街道”字段。如果您对此有任何优化,请告诉我。

    【讨论】:

      【解决方案2】:

      邮政地址与 DATA 表中的所有其他信息一样存储在

      MIMEtype == ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_ITEM_TYPE
      

      请谷歌ContactsContract.CommonDataKinds.StructuredPostal查找所有信息。

      如果您一般需要知道如何编辑联系人,我建议您查看 Android SDK 中的 SampleSyncAdapter。它是一个同步适配器,因此您无需学习所有内容,但 ContactManager 中的 updateContact 是一个很好的起点。

      【讨论】:

      • 昨晚我得到了解决方案thanx 为你的帮助。
      猜你喜欢
      • 1970-01-01
      • 2012-02-24
      • 1970-01-01
      • 2011-04-13
      • 1970-01-01
      • 1970-01-01
      • 2011-12-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多