android中獲取手機聯繫人是通過 ContentResolver類實現的,ContentResolver是用來提供android開發者對系統應用及其他應用的數據庫進行解析的,通過特定的Uri訪問相應的數據庫。進而獲取系統應用或者其他應用的應用數據,獲取android手機聯繫人的URL是Phone.CONTENT_URI,Phone類提供了很多獲取手機聯繫人的數據庫的URI,Phone.CONTENT_URI是手機聯繫人的根Uri。
//獲取聯繫人信息 public List<Person> getPhoneContact(){ List<Person> persons = null; //獲得內容解析者 ContentResolver resolver = getContentResolver(); //1.URI-->查詢根目錄 2.查詢條目 3.查詢條件 4.查詢參數 5.是否按順序排列 //獲得所有聯繫人Id,聯繫人名稱,聯繫人手機號碼 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<Person>(); while (phoneCursor.moveToNext()) { //獲得聯繫人號碼 String phoneNumber = phoneCursor.getString(2); if (phoneNumber == null) { continue; } //聯繫人名稱 String name = phoneCursor.getString(1); //聯繫人ID String id = phoneCursor.getString(0); Person person = new Person(name, phoneNumber, id); persons.add(person); } phoneCursor.close(); } return persons; },