package com.iban.dao;import java.util.ArrayList;import java.util.List;import com.iban.pojo.User;import android.content.ContentResolver;import android.content.Context;import android.database.Cursor;import android.provider.ContactsContract;public class ContactUtil {public static void getContact(Context context){ContentResolver cr = context.getContentResolver();        Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);//查询通讯录        if(cursor.getCount()>0){            while (cursor.moveToNext()) {                String id = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));//联系人id                String name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));//联系人名称                System.out.println("name:"+name);                if(cursor.getInt(cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))>0){                    //Query phone here.  Covered next 在该处查询电话号码                 Cursor pCur = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?",                              new String[]{id}, null);                     while (pCur.moveToNext()) {                         // Do something with phones                        String phoneNumber = pCur.getString(pCur .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));                      System.out.println("number:"+phoneNumber);                     }                      pCur.close();                }            }        }}public List<User>  getUsers( Context context){        List<User> listUser = new ArrayList<User>();        ContentResolver resolver = context.getContentResolver();        String phoneNumber = "";        // 获得所有的联系人         Cursor cur = resolver.query(                 ContactsContract.Contacts.CONTENT_URI,  null,  null,null,                 ContactsContract.Contacts.DISPLAY_NAME                         + " COLLATE LOCALIZED ASC");         // 循环遍历         if (cur.moveToFirst()) {         User user = new User();            int idColumn = cur.getColumnIndex(ContactsContract.Contacts._ID);                        int displayNameColumn = cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);             do {              String contactId = cur.getString(idColumn);              System.out.println("contactId:"+contactId);                // 获得联系人姓名                 String disPlayName = cur.getString(displayNameColumn);                 user.setUserName(disPlayName);                System.out.println("disPlayName:"+disPlayName);                // 查看该联系人有多少个电话号码。如果没有这返回值为0                 int phoneCount = cur.getInt(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));                 if (phoneCount > 0) {                     // 获得联系人的电话号码                     Cursor phones = resolver.query( ContactsContract.CommonDataKinds.Phone.CONTENT_URI,                             null,  ContactsContract.CommonDataKinds.Phone.CONTACT_ID                                     + " = " + contactId, null, null);                     if (phones.moveToFirst()) {                         do {                             // 遍历所有的电话号码                             int id = phones.getInt(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone._ID));                            phoneNumber = phones                                     .getString(phones                                             .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));                         } while (phones.moveToNext());                     }                 }                 System.out.println("phoneNumber:"+phoneNumber);                user.setPhoneNumber(phoneNumber);           } while (cur.moveToNext());         }        return listUser;  }}

更多相关文章

  1. 利用广播实现ip拨号
  2. Android(安卓)Contacts的使用(二)
  3. Android(安卓)ContentResolver 使用例子,读取联系人
  4. Android使用READ_CONTACTS读取手机联系人
  5. Android(安卓)EditText用户友好的输入界面
  6. Android(安卓)QuickContactBadge联系人快捷标识
  7. js与android交互难点 == js唤起app
  8. Android中遍历View的几种方式
  9. android2.2应用开发之IccCard(sim卡或USIM卡)(转至 http://www.2cto

随机推荐

  1. Android优缺点
  2. 【源码】Android(安卓)面包屑导航效果源
  3. Android(安卓)Apk加固的初步实现思路(dex
  4. 美国Android占28%份额 摩托Droid最受欢迎
  5. 摩托罗拉何以靠Android重生
  6. Android的BUG,一个频繁重启问题
  7. Android中回调函数的理解---本人Android
  8. 转:Android前途分析
  9. Android开发者e周报 第5期
  10. 关于android程序编写初级逻辑思考问题