//得到ContentResolver对象

ContentResolver cr = getContentResolver();

//取得电话本中开始一项的光标

Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);

Log.d(TAG, "号码数量="+cursor.getColumnCount()+"");

if(cursor.getCount() == 0)return;

//向下移动光标

Log.d(TAG, "cursor="+cursor);

while(cursor.moveToNext()) {

//取得联系人名字

int nameFieldColumnIndex = cursor.getColumnIndex(PhoneLookup.DISPLAY_NAME);

String contact = cursor.getString(nameFieldColumnIndex);

People people = new People();

people.name = contact;

Log.d(TAG, "userName="+contact) ;

// Log.d(TAG, "number="+cursor.getString(starred));

//取得电话号码

String ContactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));

Cursor phone = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,

ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + ContactId, null, null);

while(phone.moveToNext()) {

String PhoneNumber = phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));

people.phone = PhoneNumber;

Log.d(TAG, "phone num ="+PhoneNumber);

}

Cursor home = cr.query(ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_URI, null,

ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + ContactId+" and "+StructuredPostal.TYPE +"="+

StructuredPostal.TYPE_HOME, null, null);

while(home.moveToNext()) {

String country = home.getString(home.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.DATA));

people.address = country;

}

Log.d(TAG, people.toString());

更多相关文章

  1. android 设置EditText不可编辑内容,响应点击事件
  2. android短信管理器SmsManager实例详解
  3. Android启动系统自带的程序组件
  4. Android 编程获取手机型号,本机电话号码,sdk版本及firmware版本号(
  5. Android收起虚拟键盘
  6. Android防微信表情功能
  7. android2.1获得联系人信息+Android 获取信息终端
  8. EditText 光标不显示问题

随机推荐

  1. Android(安卓)自带语音识别功能
  2. 前端JS和APP交互
  3. 看黑马安卓基础教学视频总结(广播)
  4. Android获取CPU频率和温度
  5. Android服务混合调用startService(intent
  6. Android—实现自定义相机倒计时拍照
  7. android 手机 apk安装失败对应码
  8. android实现侧边导航栏
  9. Android(安卓)设置TextView字体颜色
  10. Activity之间传递 List对象