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
          主站蜘蛛池模板: 青州市| 鲜城| 平湖市| 保定市| 博白县| 北辰区| 正蓝旗| 通江县| 寻乌县| 区。| 玉山县| 香河县| 双牌县| 怀仁县| 秦皇岛市| 沧源| 尉氏县| 九龙坡区| 临夏市| 宣武区| 牡丹江市| 海丰县| 红原县| 平远县| 阿巴嘎旗| 临汾市| 买车| 五指山市| 陆丰市| 布尔津县| 扶绥县| 西华县| 涞源县| 平利县| 格尔木市| 陈巴尔虎旗| 根河市| 宾川县| 象山县| 子洲县| 渭南市|