众所周知,android平台的向下的兼容性并不好,很多新版本的android系统的api与低版本的并不一样,但是我们遇到的情况是android的app一般只有一个,不可能针对每一个版本开发一套app,好在谷歌公司还算人性化的提供了 Build.VERSION.SDK_INT这个常亮,会根据不同android版本有不同的值。以下为兼容安卓各个版本读取通讯录的demo
Uri contentUri;
String id_field;
String name_field;
String number_field;
boolean newapi = Build.VERSION.SDK_INT >= 5;//代表版本至少是2.0
if (newapi) {
contentUri = CommonDataKinds.Phone.CONTENT_URI;
id_field = CommonDataKinds.Phone.CONTACT_ID;
name_field = CommonDataKinds.Phone.DISPLAY_NAME;
number_field = CommonDataKinds.Phone.NUMBER;
} else {
contentUri = Contacts.People.CONTENT_URI;
id_field = Contacts.People._ID;
name_field = Contacts.People.DISPLAY_NAME;
number_field = Contacts.People.NUMBER;
}
ContentResolver cr = ReadMultipleSMSActivity.this.getContentResolver();
Cursor phone = cr.query(contentUri, new String[] { id_field,
name_field, number_field}, null, null, "sort_key");//按姓名升序排列
while (phone.moveToNext()) {
String contactId = phone.getString(phone
.getColumnIndex(id_field));
String displayName = phone.getString(phone
.getColumnIndex(name_field));
String PhoneNumber = CommTool.phoneNumberDeal(phone.getString(phone
.getColumnIndex(number_field)));
if (PhoneNumber!=null) {
contactsList.add(displayName+"\n"+showText+
PhoneNumber);
}
}
if (phone != null){
phone.close();
}
分享到:
相关推荐
用于与博客匹配的资源,简单学习Android 中读取通讯录的操作,方便大家进行学习和思考。仅用于学习参考,谢谢
Android读取通讯录中设置邮件的联系人 DEMO Android读取通讯录中设置邮件的联系人 demo
Android读取通讯录中全部信息,列表展示,点击可以跳转到拨打电话界面,展示列表可自定义替换,实现对应的需求。
Android开发读取通讯录信息,可通过搜索联系人的姓名获取相应的详细人信息,也可通过右侧字母条搜索相应的联系人信息。
读取通讯录读取通讯录读取通讯录androidandroid
你在读取通讯录的时候可以根据你所输入的汉字或者字母过滤你不想要的人名,例如google的那种自动补全就是。
提供完整代码,通过ContenResolver,读取手机通讯录的内容。
附件中是通过蓝牙读取终端设备通讯录、通话记录等所需要的PBAP、Vcard、JavaOBEX源码文件,只需导入到相应的工程里即可使用。
读取通讯录短信定位信息APP源码,仅供学习研究禁止非法用途!
Android开发实验---通讯录 实验报告 通讯录 姓名: 学号: 课程名称: 移动应用开发 所在学院: 信息科学与工程学院 专业班级: 计算机 任课教师: Android开发实验---通讯录全文共25页,当前为第1页。 Android开发...
包括手机客户端,服务端程序,手机需通过usb连接线与PC相连。
Android通过蓝牙使用Pbap协议读取通讯录.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
Android读取手机本地通讯录并实现拨打和短信,完全可用
完整版本,整合了包括读取邮箱通讯录、MSN好友列表的的功能,目前读取邮箱通讯录支持如下邮箱:gmail(Y)、hotmail(Y)、live(Y)、tom(Y)、yahoo(Y)(有点慢)、sina(Y)、163(Y)、126(Y)、yeah(Y)、sohu(Y) 读取后可以...
安卓Android源码——获取手机通讯录的实战应用(含SIM卡中的联系人).rar
android通讯录代码(非原生android)
android 8.1系统蓝牙连接,获取通讯录及通话记录、蓝牙电话等相关代码逻辑梳理
基于android studio的联系人读取及电话拨打,参考了《第一行代码》的思路
基于SQLite开发的简易通讯录 共两个页面:启动页+主页面 主页面实现增删改查、读取系统联系人、拨号等功能 非常非常非常简陋,所有功能都在主页面实现,没有封装类
安卓Android源码——获取手机通讯录的实战应用(含SIM卡中的联系人).zip