作者@恺风Wei

在Android4.0中联系人应用有所改变,引入了个人配置(personal profiles),并将联系人应用改名为People。手机厂家多对联系人应用进行了UI优化,如果打开模拟器,会看得更为清晰。

打开People,如下:

Pro Android学习笔记(一五九):联系人API(2):联系人应用_UI

和Android2.x的版本不同,多了一个ME(我)的联系人。在People中会列出所有account的联系人,但是我们并不清楚那个联系人属于哪个account。除非特别保护,Android不会重复列出不同账号中看起来一样的联系人。如果我们编辑联系人,我们会看到联系人属于哪个账号,在下图中,两个例子所显示的联系人都只属于phone。

Pro Android学习笔记(一五九):联系人API(2):联系人应用_Android_02

在各个属性中,phone和email地址是有格式要求的,但是也有任意输入的的属性,例如地址。提供导入导出功能,可以以vCard的格式导出到SD卡的存储器上。下面,我们在模拟器的People即联系人应用中导出至SD卡中:

Pro Android学习笔记(一五九):联系人API(2):联系人应用_Android_03

然后我们将00001.vcf通过DDMS导到本机,打开看看。而在模拟器中,如果便捷ME,发现不是属于Phone,而是显示为My local profile。因此模拟器中导出的联系人只有Test1一个。打开00001.vcf,如下:

BEGIN:VCARD
VERSION:2.1
N:;Test1;;;
FN:Test1
TEL;CELL:1-301-235-6789
END:VCARD

如果有多个联系人,则为:

BEGIN:VCARD
......
END:VCARD
BEGIN:VCARD
......
END:VCARD
......

如果含有图片信息,相关的属性如下:

:/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgMCAgMDAwM
EAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/
2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF
BQUFBQUFBQUFBQUFBT/wAARCABgAGADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAA
ECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaE
II0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZn
......