Android获取电话薄联系人

来源:互联网 发布:战地1淘宝美版25块钱 编辑:程序博客网 时间:2024/05/17 20:08
public class ContactsTools {/** * 获取联系人的名字和电话号码 * @param mContext * @return */public static List<ContactsUser> getContacts(Context mContext){ContactsUser user = null;List<ContactsUser> mList = new ArrayList<ContactsUser>();int nameIndex=-1;ContentResolver resolver = mContext.getContentResolver();Cursor cur=resolver.query(ContactsContract.Contacts.CONTENT_URI, null, null, null,null);//得到联系人的总数量int count = cur.getCount();mContext.getSharedPreferences(AppConfig.SHAREDPREFERCE, Context.MODE_PRIVATE).edit().putInt(AppConfig.CONTACTSCOUNT, count).commit();while (cur.moveToNext()) {user = new ContactsUser();String name = "";String number = "";//得到名字nameIndex = cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);name = cur.getString(nameIndex);//得到电话号码String contactId = cur.getString(cur         .getColumnIndex(ContactsContract.Contacts._ID)); // 获取联系人的ID号,在SQLite中的数据库ID          Cursor phone = resolver.query(          ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,          ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = "          + contactId, null, null);     while (phone.moveToNext()) {     String strPhoneNumber = phone.getString(                            phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); // 手机号码字段联系人可能不止一个     //如果电话号码前有带+86的,去掉+86   if(strPhoneNumber.startsWith("+86")){//Log.i("simple", "带86的="+number.substring(3,number.length()-1));strPhoneNumber = strPhoneNumber.substring(3);}   strPhoneNumber = strPhoneNumber.replace(" ", "");   number += strPhoneNumber+"_";     }     if(phone != null){   phone.close();   }   number = number.substring(0,number.length()-1);   String nameAndNumber = name + ":" +number;   user.setName(name);   user.setNumber(number);   mList.add(user);}if(cur != null){cur.close();}return mList;}/** * 获得联系人的总数 */public static int getContactsCount(Context context){ContentResolver resolver = context.getContentResolver();Cursor cursor = resolver.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);return cursor.getCount();}}

0 0
原创粉丝点击