最近在做一个项目,需要只显示手机联系人,不显示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卡联系人,因为会跟手机联系人重复显示的。
每个人都应该做好自己的本职工作,作为一个安卓开发者,因为不清楚安卓的这个特性耽误了时间,有些羞愧。以后需更加多学习、了解安卓的方方面面。
相关推荐
获取SIM卡联系人的方式与获取手机联系人类似,只是URI不同,例如,获取SIM卡联系人的URI是`ContactsContract.CommonDataKinds.Sim.CONTENT_URI`。 三、最近联系人 最近联系人是指用户最近通话或通信的联系人列表。...
在Android平台上,获取手机通讯录和SIM卡联系人,以及调用拨号界面是常见的功能需求,这通常涉及到用户信息的读取和系统的交互。以下将详细解释如何实现这些功能。 首先,要获取手机通讯录的联系人信息,我们需要...
### Android解析:开机加载SIM联系人及对SIM卡联系人的操作 #### 一、概述 在Android系统中,用户能够方便地访问并管理SIM卡上的联系人信息,这些功能背后涉及到了一系列复杂的交互机制和技术实现。本文将详细介绍...
最近发现 android 原生系统,自带通讯录软件,只有从手机卡 导入联系人到手机,而不能导出到 手机卡,而且也不能访问,编辑手机卡,可是对于 常换手机的人来说就很麻烦,所以写了个 小程序,功能如下:1.复制 手机...
Android获取手机sim卡信息,包含手机平台,运营商等信息。
在Android系统中,获取SIM卡运营商信息相对简单,但直接通过SIM卡获取手机号码的功能却存在一定的限制。这是因为出于隐私保护和安全考虑,Android系统并未开放直接读取用户手机号码的API接口。开发者通常可以通过...
Android 获取移动网络及SIM卡运营商信息,可获取到SIM卡国别、SIM卡序列号、SIM卡状态、运营商代号、手机制式等信息。获取各个数据项的值: listValues.add(tm.getDeviceId());//获取设备编号 listValues.add(tm...
本实战应用涵盖了从Android系统中读取联系人信息,包括存储在SIM卡上的联系人,提供了完整的源码和相关文档,帮助开发者快速理解和实现这一功能。 首先,我们要了解Android系统的联系人存储机制。Android将联系人...
在Android系统中,获取SIM卡号码以及运营商标识是移动应用开发中常见的需求,尤其是在涉及到通信功能或者个性化服务时。SIM卡(Subscriber Identity Module)包含了用户的运营商信息和一个唯一的国际移动用户识别码...
android 获取手机联系人的工具类 源码 包括 手机SIM卡联系人 手机通讯录联系人
在Android平台上,获取手机通讯录是一项常见的功能,无论是开发社交应用、备份工具还是其他与通信相关的应用程序,都需要访问用户手机的联系人数据。本实战应用将深入探讨如何从设备内部存储以及SIM卡中读取联系人...
在Android平台上,获取手机联系人是一项常见的功能,用于构建各种社交、通讯类应用。这个"获取手机联系人的简单DEMO"应该是一个简单的示例代码,用于教导开发者如何通过Android API来访问并读取设备上的联系人数据。...
标题提到的“基于基站,APN,GPS,WiFi,Network 根据不同手机SIM卡获取经纬度”涉及了多种定位技术,每种都有其特性和应用场景。下面将详细介绍这些技术以及如何在Android中实现。 首先,我们来了解几种主要的定位...
本实战应用主要涵盖了如何通过Android源码获取手机通讯录,包括SIM卡中的联系人信息。接下来,我们将详细讨论这个主题。 首先,我们要知道在Android中访问通讯录主要涉及`ContactsContract`类,它是Android系统提供...
采用反射来调用android 隐藏的API 实现对sim卡中的联系人和短信进行增删改查。 SIM卡管家主要功能如下:1、sim卡上的短信导出 2、sim卡联系人导出 3、sim卡上的短信导出 4、sim卡上的联系人导出 5、可以查看sim卡上...
在Android平台上,开发人员可以利用特定的API来访问和读取SIM卡信息,这在一些应用中非常有用,比如定位、身份验证或者提供网络服务。本文将深入探讨如何通过编程方式实现这一功能,并且详细解释如何创建一个完整的...
Android 获取双卡双待手机的 SIM 卡信息示例代码主要给大家介绍了关于 Android 获取双卡双待手机的 SIM 卡信息的相关资料,文中通过示例代码介绍的非常详细,对各位 Android 开发者们具有一定的参考学习价值。...
总之,"Android应用源码获取手机通讯录的实战应用(含SIM卡中的联系人.zip"是一个宝贵的教育资源,它涵盖了Android开发中获取通讯录的基本步骤和技巧,同时也展示了如何处理SIM卡中的联系人。对于想要提升Android应用...
【作品名称】:基于Java开发Android获取手机通讯录源码(含SIM卡中的联系人) 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目...
本实战应用将详细介绍如何在Android应用程序中获取手机通讯录,包括存储在SIM卡中的联系人。 首先,Android提供了ContentResolver和ContactsContract类来访问系统中的联系人数据。ContentResolver是Android系统提供...