Android 5.0之前的版本中,系统只支持单卡,可以使用URI -- content://icc/adn 读取到sim卡里的联系人。附:IccProvider(4.4.4_r1)
Android 5.0 版本开始,原生系统支持多卡,读取SIM卡联系人的URI也发生变化。
附:IccProvider(5.0.0_r2) , IccProvider(8.0.0_r4)
新的URI为content://icc/adn/subId/ + subId。例如读取SIM1的联系人,其URI为content://icc/adn/subId/1 。这个1是subId,不是slotId。
AOSP 原生字段为: "name", "number", "emails", "_id"。分别用于单个联系人的姓名、手机号、邮箱号码。
高通平台则多一个字段: "name", "number", "emails", "anrs", "_id"。"anrs"用于单个联系人的第二个手机号
MTK平台字段更多 :"index", "name", "number", "emails", "additionalNumber", "groupIds", "_id", "aas", "sne"。"additionalNumber"用于单个联系人的第二个手机号,"index"用于联系人在SIM卡中的Id自动,可以据此编辑与删除该联系人,非常有用(原生与高通,需要根据姓名等所有字段去匹配),"groupIds"用于存储该联系人对应的群组id,"aas"用于存在单个联系人的第二个手机号的类型id。