最近在做一个项目,需要只显示手机联系人,不显示SIM卡联系人。但查了半天资料,只能做到获取全部联系人、包括手机、SIM卡联系人,或者只获取SIM卡联系人。在网上这个问题也有些人在问,中国的、外国人都在问。但没有解决方案。有些手机方案商会在数据表里设置一个is_sim或者indicator_phone_or_sim_contacts的字段,但不通用。
后来发现,安卓的联系人数据库设计,并没有区分特地手机联系人和SIM卡联系人。而是有个账户的概念!
Contacts.Entity.ACCOUNT_TYPE, Contacts.Entity.ACCOUNT_NAME这两个字段分别是账户的值和名称。
手机的联系人一般命名为Phone,SIM联系人一般命名为sim。但这两个字段不同厂商也不尽相同,都是自定义的。有的显示“Phone”,有的显示“手机”等等。还有其他联系人账户,比如微信联系人、google账户联系人!具体可以查看Contacts2.db的accounts表。
我的测试机记录如图:
我的私人机记录如图:
其他通讯录应用的做法,一般是列出这些账户,让用户自主选择显示哪些账户的联系人。比如我用QQ通讯录,就未勾选SIM卡联系人,因为会跟手机联系人重复显示的。
每个人都应该做好自己的本职工作,作为一个安卓开发者,因为不清楚安卓的这个特性耽误了时间,有些羞愧。以后需更加多学习、了解安卓的方方面面。
相关推荐
主要介绍了Android获取手机通讯录、sim卡联系人及调用拨号界面方法,本文分别给出实现代码实现获取通讯录和sim卡的联系人,以及权限配置和调用系统拨打电话的界面的实现代码,需要的朋友可以参考下
android 联系人 SIM卡 最近联系人 通讯录 获取源代码
最近发现 android 原生系统,自带通讯录软件,只有从手机卡 导入联系人到手机,而不能导出到 手机卡,而且也不能访问,编辑手机卡,可是对于 常换手机的人来说就很麻烦,所以写了个 小程序,功能如下:1.复制 手机...
Android获取手机sim卡信息,包含手机平台,运营商等信息。
Android 获取移动网络及SIM卡运营商信息,可获取到SIM卡国别、SIM卡序列号、SIM卡状态、运营商代号、手机制式等信息。获取各个数据项的值: listValues.add(tm.getDeviceId());//获取设备编号 listValues.add(tm...
android 获取手机SIM卡唯一值 和号码 新版本的SIM卡的号码被运营商设置 有可能获取不到
Android SIM卡号码获取,运营商标示获取
android 获取手机联系人的工具类 源码 包括 手机SIM卡联系人 手机通讯录联系人
基于android获取手机通讯录的实战应用(含SIM卡中的联系人)程序源码+文档
Android 获取手机SIM资料Android 获取手机SIM资料
Android获取手机sim信息实例,包括运营商、地址、sim卡卡号(手机号),Android获取手机sim信息实例,包括运营商、地址、sim卡卡号(手机号),Android获取手机sim信息实例,包括运营商、地址、sim卡卡号(手机号)
获取手机联系人的简单DEMO
android获取手机通讯录的实战应用(含SIM卡中的联系人)
获取手机IMEI号,sim卡的IMSI号,手机型号等 C#源码
采用反射来调用android 隐藏的API 实现对sim卡中的联系人和短信进行增删改查。 SIM卡管家主要功能如下:1、sim卡上的短信导出 2、sim卡联系人导出 3、sim卡上的短信导出 4、sim卡上的联系人导出 5、可以查看sim卡上...
通过自身1个星期的研究,对开机启动后加载SIM卡联系人的操作流程进行简要分析 , 同时通过Log分析 发现对SIM卡联系人操作时出现的问题,并进行分析,给刚接触这一模块的朋友提供一些经验,同时也方便自己以后深入...
Android项目获取手机通讯录的实战应用(含SIM卡中的联系人).rar
安卓Android源码——获取手机通讯录的实战应用(含SIM卡中的联系人).rar
NULL 博文链接:https://104zz.iteye.com/blog/1680860
vc开发读取手机sim卡联系人源代码,方便大家下载,不要资源分。