獲取手機系統聯繫人的方法;
/**
* 獲取系統聯繫人數據;
*/
private void initData() {
// 讀取聯繫人是耗時操作啓動一個線程來查詢;
new Thread() {
public void run() {
// 獲取內容解析器
ContentResolver contentResolver = getContentResolver();
// 查詢系統聯繫人表過程;(讀取聯繫人權限)
Cursor cursor = contentResolver.query(Uri
.parse("content://com.android.contacts/raw_contacts"),
new String[] { "contact_id" }, null, null, null);
// 循環遊標到沒有數據爲止;
while (cursor.moveToNext()) {
String id = cursor.getString(0);
// 根據用戶唯一的id查詢到了data表和mimetype 表形成的視圖獲取data以及mimetype字段;
if (id!=null) {
Cursor indexcCursor = contentResolver
.query(Uri
.parse("content://com.android.contacts/data"),
new String[] { "data1", "mimetype"// data1可能是電話號碼也可能是姓名;mimetype
// 是電話號碼的類型也可能是姓名所對應的類型;
}, "raw_contact_id = ? ",
new String[] { id }, null);
while (indexcCursor.moveToNext()) {
String idString = indexcCursor.getString(0);
String typeString = indexcCursor.getString(1);
}
}
}
cursor.close();
};
}.start();
}