作者:腾讯优测开发工程师 于长敏
这里仅以获取sim卡的IMSI接口(getSubscriberId)和发短信接口(sendTextMessage)为例来详细讲解一下Android5.0-6.0双卡适配的策略,其他方面的双卡适配方案跟4.4以前相比并无特别大的区别,之前我们已有专家对此进行过详细的总结,这里就不重复说明了。
从Android5.0开始,加入了对双卡的管理:
首先从数据库方面来看,其设计思路跟以前某平台是一样的,加入一个siminfo数据表到telephony.db来管理双卡的信息。数据表URL:content://telephony/siminfo
所有插入过的SIM卡的相关信息都会存储在这个表里,再看看表里的字段,这里截图只截了前面的几个比较关键的字段
从截图中可以看到我用红框所框的字段,这两个是尤为关键的字段,也是对我们在功能开发的极其关键的两个字段。下面简单说一下这两个字段的含义:
_id是表的主键,代表sim卡数据的索引值,从1开始,每次新插入的一张sim卡,数据表都会插入一行新数据,该行数据的_id值每次递增1(1,2,3,4,5……n这样递增),而不是更换一张卡更新一下对应卡槽的数据行的sim卡数据。