以下是沒有添加動態(tài)權(quán)限? 需要手動添加動態(tài)權(quán)限
1:添加權(quán)限
<uses-permission android:name="android.permission.READ_CONTACTS" />
?讀取系統(tǒng)通訊錄? 的URI
?? ??? ?//content://com.android.contacts/contacts// 通訊錄里現(xiàn)有的聯(lián)系人,不包括已刪除的聯(lián)系人
????????//content://com.android.contacts/raw_contacts// 所有聯(lián)系人,包括已刪除的聯(lián)系人
????????//content://com.android.contacts/data
ContentResolver resolver = this.getContentResolver();????//獲取內(nèi)容解析器
????????Uri contactsUri = Uri.parse("content://com.android.contacts/contacts");???//解析聯(lián)系人的uri
????????//解析聯(lián)系人數(shù)據(jù)的uri
????????Uri dataUri = Uri.parse("content://com.android.contacts/data");???
????????//開始讀取
????????Cursor contactsCursor = resolver.query(contactsUri, null, null, null, null);???
????????int count = contactsCursor.getCount(); // 聯(lián)系人數(shù)量
????????//判斷聯(lián)系人是否為空
????????if (contactsCursor != null) {
????????????while (contactsCursor.moveToNext()) {
????????????????????//獲取聯(lián)系人的id
????????????????String contact_id = contactsCursor.getString(contactsCursor.getColumnIndex("_id"));
????????????????????//通過id 查詢聯(lián)系人的數(shù)據(jù)信息
????????????????Cursor dataCursor = resolver.query(dataUri, null, "contact_id=?", new String[]{contact_id}, null);
????????????????// mimetype??data1
????????????????while (dataCursor.moveToNext()) {
????????????????????String mimetype = dataCursor.getString(dataCursor.getColumnIndex("mimeType"));
????????????????????String data1 = dataCursor.getString(dataCursor.getColumnIndex("data1"));
????????????????????Log.i("Haoxueren", contact_id + ":" + data1 + ":" + mimetype);
????????????????? ??? ??//判斷是否是此字段??是的話就展示手機(jī)號
????? ??? ??? ??? ??if (mimeType.equals("vnd.android.cursor.item/phone_v2")) {
?????????? ?? ???? ??? String phone = data1;// 手機(jī)號
????? ???? ??? ??? ?} else if (mimeType.equals("vnd.android.cursor.item/name")) {
?????????? ??? ??? ??? ?String name = data1;//聯(lián)系人姓名
????? ???? ??? ??? ?}
? ? ? ? ?? ??? ?}
????????????}
????????}