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 閱讀(780) 評論(0)  編輯  收藏 所屬分類: Android
          主站蜘蛛池模板: 奉贤区| 宿州市| 岳池县| 鲁甸县| 门源| 永和县| 应城市| 六盘水市| 普格县| 剑阁县| 莱州市| 玉田县| 渭南市| 龙岩市| 虎林市| 乡城县| 江源县| 龙门县| 文成县| 靖西县| 台中县| 乾安县| 云阳县| 沁源县| 津市市| 大宁县| 华安县| 剑阁县| 文山县| 台东市| 宁蒗| 宁武县| 穆棱市| 盖州市| 新余市| 乌兰浩特市| 祁阳县| 永修县| 彰武县| 织金县| 鄱阳县|