我正在使用往返于VCard转换的Android联系人。

它必须格式化ContactsContract.Data表中的Vcard,并将Vcard插入ContactsContract.Data表中。

可以将大多数VCard属性转换为适当的ContactsContract.Data表行。

但是,VCard TEL和EMAIL属性与Android ContactsContract中定义的具有不同的允许类型值集。

例如:

android手机类型的允许值为:
TYPE_CUSTOM,
TYPE_HOME,
TYPE_MOBILE,
TYPE_WORK,
TYPE_FAX_WORK,
TYPE_FAX_HOME,
TYPE_PAGER,
TYPE_OTHER,
TYPE_CALLBACK,
TYPE_CAR,
TYPE_COMPANY_MAIN,
TYPE_ISDN,
TYPE_MAIN,
TYPE_OTHER_FAX,
TYPE_RADIO,
TYPE_TELEX,
TYPE_TTY_TDD,
TYPE_WORK_MOBILE,
TYPE_WORK_PAGER,
TYPE_ASSISTANT,
TYPE_MMS

VCard rfc 6350仅定义以下类型值:
“文本”,“语音”,“传真”,“手机”,“视频”,“传呼机”,“文本电话”

其中有些可以转换,有些则不能。

是否可以在VCard中设置自定义TEL和EMAIL类型?如果是这样,该怎么办?

最佳答案

根据vCard标准,可以定义自定义类型,只要类型名称以“ X-”开头即可。


  6.10。扩展属性和参数
  
  本文档定义的属性和参数可以是
  扩展。非标准的私有属性和参数,带有
  以“ X-”开头的名称可以在两个之间双向定义
  没有外部注册或标准化的合作代理商。


但是请记住,不能保证使用vCard的应用程序会理解这些自定义类型。

关于android - 自定义VCard TEL和EMAIL类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23932246/

10-10 18:30