android中獲取手機聯(lián)系人是通過 ContentResolver類實現(xiàn)的,ContentResolver是用來提供android開發(fā)者對系統(tǒng)應(yīng)用及其他應(yīng)用的數(shù)據(jù)庫進行解析的,通過特定的Uri訪問相應(yīng)的數(shù)據(jù)庫。進而獲取系統(tǒng)應(yīng)用或者其他應(yīng)用的應(yīng)用數(shù)據(jù),獲取android手機聯(lián)系人的URL是Phone.CONTENT_URI,Phone類提供了很多獲取手機聯(lián)系人的數(shù)據(jù)庫的URI,Phone.CONTENT_URI是手機聯(lián)系人的根Uri。
//獲取聯(lián)系人信息 public ListgetPhoneContact(){ List persons = null; //獲得內(nèi)容解析者 ContentResolver resolver = getContentResolver(); //1.URI-->查詢根目錄 2.查詢條目 3.查詢條件 4.查詢參數(shù) 5.是否按順序排列 //獲得所有聯(lián)系人Id,聯(lián)系人名稱,聯(lián)系人手機號碼 Cursor phoneCursor = resolver.query(Phone.CONTENT_URI, new String[]{Phone._ID,Phone.DISPLAY_NAME,Phone.NUMBER}, null, null, null); if (phoneCursor!=null) { persons = new ArrayList (); while (phoneCursor.moveToNext()) { //獲得聯(lián)系人號碼 String phoneNumber = phoneCursor.getString(2); if (phoneNumber == null) { continue; } //聯(lián)系人名稱 String name = phoneCursor.getString(1); //聯(lián)系人ID String id = phoneCursor.getString(0); Person person = new Person(name, phoneNumber, id); persons.add(person); } phoneCursor.close(); } return persons; },