一、《Android应用开发揭秘》代码的问题
在该书上,
int nameIndex  = cursor.getColumnIndex(PhoneLookup.DISPLAY_NAME);
String contact = cursor.getString(nameIndex);
两句是可以读到联系人的名字的,而
//取得电话号码
            int numberFieldColumnIndex = cursor.getColumnIndex(PhoneLookup.NUMBER);   
            String number = cursor.getString(numberFieldColumnIndex);
会发生错误,因为2.0后,读取电话号码的API发生了改变

二、代码

   1: /***********************************/
   2: /*
   3:  *联系人的名字、电话号码的读取与显示
   4: */
   5: /***********************************/
   6: package com.Joe.Android.Examples_03_02;
   7:  
   8: import android.app.Activity;
   9: import android.content.ContentResolver;
  10: import android.database.Cursor;
  11: import android.os.Bundle;
  12: import android.provider.ContactsContract;
  13: import android.provider.ContactsContract.PhoneLookup;
  14: import android.widget.TextView;
  15:  
  16: public class mainActivity extends Activity {
  17:     /** Called when the activity is first created. */
  18:     @Override
  19:     public void onCreate(Bundle savedInstanceState) {
  20:         TextView tv = new TextView(this);
  21:         String string = "";
  22:         super.onCreate(savedInstanceState);
  23:         //得到contentresolver对象
  24:         ContentResolver cr = getContentResolver();
  25:         //取得电话本中开始一项的光标,必须先moveToNext()
  26:         Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI,null, null, null, null);
  27:         while(cursor.moveToNext()){
  28:             //取得联系人的名字索引
  29:             int nameIndex  = cursor.getColumnIndex(PhoneLookup.DISPLAY_NAME);
  30:             String contact = cursor.getString(nameIndex);
  31:             string += (contact+":"+"/n");
  32:             
  33:             //取得联系人的ID索引值
  34:             String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID)); 
  35:             //查询该位联系人的电话号码,类似的可以查询email,photo
  36:             Cursor phone = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
  37:                     ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = "  
  38:                     + contactId, null, null);//第一个参数是确定查询电话号,第三个参数是查询具体某个人的过滤值
  39:             //一个人可能有几个号码
  40:             while(phone.moveToNext()){
  41:                 String strPhoneNumber = phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
  42:                 string += (strPhoneNumber+"/n");
  43:             }
  44:             phone.close();
  45:         }
  46:         cursor.close();
  47:         //设置显示内容
  48:         tv.setText(string);
  49:         //显示
  50:         setContentView(tv);      
  51:         //setContentView(R.layout.main);
  52:     }
  53: }

三、注意点

最后要在AndroidManifest.xml的application之外加上

<uses-permission
    android:name="android.permission.READ_CONTACTS">
    </uses-permission>

Android读取联系人姓名、电话相关推荐

  1. Android读取联系人的姓名及电话号码

    Android中联系人的信息是通过ContentProvider来供外部应用获取的,我们使用时只需根据系统联系人ContentProvider的Uri即可获取所需数据.下面讲解如何获取联系人的姓名及电 ...

  2. java 获取 邮箱联系人_在android中读取联系人信息的程序,包括读取联系人姓名、手机号码和邮箱...

    /** 读取联系人的信息*/ public voidtestReadAllContacts() { Cursor cursor= this.getContext().getContentResolve ...

  3. Android 获取联系人姓名与电话号码

    权限 <uses-permission android:name="android.permission.READ_CONTACTS" /> 跳转通讯录界面 findV ...

  4. Android 获取联系人姓名和电话号码信息

    ContactsContract 类是存储联系人相关信息的数据库. 获取联系人信息的URL:ContactsContract.Contacts.CONTENT_URI 几个需要用到的字段: Conta ...

  5. android查看联系人姓名和手机号码

    第一步:布局文件就是一个Button,点击弹出联系人列表,选择联系人后将联系人的信息显示在两个TextView上,布局代码很简单,此处不再给出. 第二步:调到联系人选择页面并返回所选择的联系人信息可以 ...

  6. android请输入姓名代码,Android获取联系人姓名和电话代码

    在开发中往往有要获取联系人列表的功能,但是这次却不是获取联系人列表,而是在联系人列表点击单个联系人,获取单个联系人的姓名和电话,并设置在指定的输入框内,方便用户的使用:以下是实现的代码: androi ...

  7. 安卓基础之读取联系人的姓名和电话

    一.摘要:利用内容解释器调用联系人应用的内容提供者暴露的方法,读取联系人信息.(本节只总结实现步骤,解释请看http://www.xuanyusong.com/archives/169) 二.主要逻辑 ...

  8. Android开发学习之电话、短信、联系人

    作为一部手机,最重要的功能当属电话.短信.联系人了,所以今天想和大家分享的是关于Android电话.短信.联系人这块的API接口. 1.通话记录的获取 List<TelePhoneRecord& ...

  9. Android添加联系人信息并读取

    Android添加联系人信息并读取 效果图 题目 1. 创建一个File文件,路径为/mnt/sdcard/temp/zhiyuan.txt 2. 进入主页面后自动从File文件中读取联系人数据,每个 ...

最新文章

  1. 给你30秒的时间,你会用Excel制作出一个抽奖功能吗?
  2. win10+Tensorflow2 + cuda +RTX 3080 +cudnn 安装
  3. ERP兵法——从案例透视方法(实施篇上)
  4. cx_oracle写日志信息_MongoDB与MySQL关于写确认的异同
  5. boost::regex
  6. js的三元表达式用来替换表格中的颜色
  7. Wo Cloud CentOS 挂载磁盘小计
  8. wps分享为什么要登入_[win]为什么你需要便携应用?portableapps让你得心应手.
  9. 图像语义分割python_图像语义分割出的json文件和原图,用plt绘制图像mask
  10. python判断密码是否正确_菜鸟使用python实现正则检测密码合法性
  11. AD09 PCB制作开异性窗口
  12. 【第七篇】Vue实战综合案例
  13. echarts geo地图示例_Echarts地图展示及属性分析
  14. 处理 Git 提交中出现 .DS_Store 文件
  15. UEFI服务器PXE网络安装CentOS7.5
  16. ELK日志处理之Filebeat工作原理
  17. 【PA2011】Kangaroos
  18. 七大云架构设计在线绘图工具
  19. html图片自适应裁剪,html 图片裁剪 图片固定高度 图片自适应。图片完美适配
  20. vue导出excel加一个进度条_运用vue导出excel碰到的那些坑

热门文章

  1. c#游戏辅助脚本教程——变量
  2. 登陆一次b站获取cookie免登陆登陆b站
  3. webview中获得焦点禁止弹出键盘_电脑键盘使用方法
  4. Python如何生成随机数——random随机数模块的应用
  5. python代码学习——python文件处理及路径处理
  6. ubuntu开机黑屏,左上角光标闪烁
  7. 《时间的朋友2015》
  8. 免费配音软件有哪些?分享三款配音软件,配音娱乐两不误
  9. 新一代-亚马逊自动恢复EC2系统
  10. koa-session的使用