//擷取連絡人姓名的cursor<br />Cursor cursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);<br />startManagingCursor(cursor);<br />ArrayList<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();<br />if(cursor.getCount() > 0){<br />cursor.moveToFirst();<br />int nameCoulmn = cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);<br />int idCoulmn = cursor.getColumnIndex(ContactsContract.Contacts._ID);<br />String hasPhone = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));<br />do{<br />HashMap<String, String> map = new HashMap<String, String>();<br />//將連絡人姓名放到map中<br />map.put("name", cursor.getString(nameCoulmn) + " ");<br />//擷取對應連絡人在ID<br />String id = cursor.getString(idCoulmn);<br />Log.d("liuwenshan", "name: " + cursor.getString(nameCoulmn));<br />if(hasPhone.compareTo("1") == 0){<br />//根據連絡人的ID擷取該連絡人的電話號碼的crusor,然後遍曆該連絡人的所有號碼<br />Cursor phoneCursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + id , null, null);<br />phoneCursor.moveToFirst();<br />int numberCoulmn = phoneCursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);<br />if(phoneCursor.getCount() > 0){<br />do{<br />String[] number_array = phoneCursor.getString(numberCoulmn).split("-");<br />String number_map = arrayToString(number_array);<br />map.put("number", number_map);<br />Log.d("liuwenshan", "number: " + number_map);<br />}while(phoneCursor.moveToNext());<br />}</p><p>}<br />list.add(map);<br />}while(cursor.moveToNext()); 擷取android2.2的連絡人與之前的版本不一樣: