package yinger.firewall.util;

          import java.util.ArrayList;
          import java.util.HashMap;

          import android.content.ContentResolver;
          import android.content.Context;
          import android.database.Cursor;
          import android.provider.ContactsContract;
          import android.provider.ContactsContract.PhoneLookup;

          /**
           * ReadContactsUtil
           * 
           * 
          @author Ying_er
           * @Email melody.crazycoding@gmail.com
           * @time 2011/03/30 11:57:23
           * 
          @version 1.00
           
          */
          public final class MyReadContactsUtil {
              
          /**
               * 
          @return contacts list
               
          */
              
          public static ArrayList getContacts(Context context) {
                  ArrayList
          <HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();
                  String number 
          = "";
                  ContentResolver cr 
          = context.getContentResolver();// 得到一個ContentResolver對象
                  
          // 得到一個游標查詢對象
                  Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, null,
                          
          nullnullnull);
                  
          while (cursor.moveToNext()) {
                      
          // 獲取聯系人的名字的索引
                      int nameFieldColumnIndex = cursor
                              .getColumnIndex(PhoneLookup.DISPLAY_NAME);
                      
          // 獲取聯系人的名字
                      String contact = cursor.getString(nameFieldColumnIndex);
                      Cursor target 
          = context.getContentResolver().query(
                              ContactsContract.Contacts.CONTENT_URI, 
          nullnullnull,
                              
          null);
                      target.moveToFirst();
                      
          // 得到聯系人的ID
                      String contentId = cursor.getString(target
                              .getColumnIndex(ContactsContract.Contacts._ID));
                      String isPnone 
          = cursor
                              .getString(cursor
                                      .getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));
                      
          if (Integer.parseInt(isPnone) > 0) {
                          Cursor phone 
          = context.getContentResolver().query(
                                  ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
                                  
          null,
                                  ContactsContract.CommonDataKinds.Phone.CONTACT_ID 
          + "="
                                          
          + contentId, nullnull);
                          
          while (phone.moveToNext()) {
                              
          // 得到聯系人電話
                              number = phone
                                      .getString(phone
                                              .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
                              HashMap
          <String, String> map = new HashMap<String, String>();
                              map.put(
          "number", number);
                              map.put(
          "name", contact);
                              number 
          = "";
                              list.add(map);
                          }
                          phone.close();
                      }
                  }
                  cursor.close();
                  
          return list;
              }
          }
          posted on 2011-05-26 10:05 Ying-er 閱讀(785) 評論(0)  編輯  收藏 所屬分類: Android
          主站蜘蛛池模板: 喀什市| 绥宁县| 潮州市| 拉萨市| 南召县| 盘山县| 六枝特区| 蓬溪县| 清徐县| 高唐县| 麻栗坡县| 新闻| 长汀县| 酒泉市| 涿鹿县| 吉林市| 鞍山市| 兴城市| 金寨县| 岱山县| 扶绥县| 婺源县| 江西省| 会昌县| 高清| 唐山市| 水城县| 高唐县| 怀来县| 琼海市| 慈溪市| 昌都县| 茌平县| 阳泉市| 莆田市| 牟定县| 高阳县| 公主岭市| 孟州市| 若羌县| 闸北区|