① 獲取內容解析者
contentresolver resolver = getcontentresolver();
② 建立uri
uri raw_contacts = uri.parse("content:");
uri data = uri.parse("content:");
③ 先查詢raw_contents表中的content_id
cursor cursor = resolver.query(raw_contacts, new string, null, null, null);
④ 遍歷其中的內容
while (cursor.movetonext()), "raw_contact_id=?", new string, null);
while (cursor1.movetonext())else if ("vnd.android.cursor.item/phone_v2".equals(mimetype))else if ("vnd.android.cursor.item/email_v2".equals(mimetype))else if ("vnd.android.cursor.item/postal-address_v2".equals(mimetype))
contats.add(contat);
}}
⑤ 將存在集合中的內容便利出來
//所有內容都儲存在了集合中
for(contat contat:contats)
注意:
在讀取聯絡人的時候需要許可權
① 獲取使用者的輸入
et_name = (edittext) findviewbyid(r.id.et_name);
et_tel = (edittext) findviewbyid(r.id.et_tel);
et_address = (edittext) findviewbyid(r.id.et_address);
et_email = (edittext) findviewbyid(r.id.et_email);
string address = et_address.gettext().tostring().trim();
string name = et_name.gettext().tostring().trim();
string tel = et_tel.gettext().tostring().trim();
string email = et_email.gettext().tostring().trim();
② 獲取內容解析者
contentresolver resolver = getcontentresolver();
③ 建立查詢raw_contacts表的uri
uri raw_contacts = uri.parse("content:");
uri data = uri.parse("content:");
④ 獲取已經存在的聯絡人個數 查詢raw_contat表中有多少資料,並獲取要插入的id
cursor cursor = resolver.query(raw_contacts, new string, null, null, null);
int count = cursor.getcount() + 1;
⑤ 向raw_contact插入資料
contentvalues values = new contentvalues();
values.put("contact_id",count);
resolver.insert(raw_contacts,values);
//向data中插入資料raw_contat_id是一樣的
contentvalues values1 = new contentvalues();
//插入位址資料
values1.put("raw_contact_id",count);
values1.put("data1",address);
values1.put("mimetype","vnd.android.cursor.item/postal-address_v2");
resolver.insert(data,values1);
//插入姓名資料
values1.put("data1",name);
values1.put("mimetype","vnd.android.cursor.item/name");
resolver.insert(data,values1);
//插入**資料
values1.put("data1",tel);
values1.put("mimetype","vnd.android.cursor.item/phone_v2");
resolver.insert(data,values1);
//插入郵箱資料
values1.put("data1",email);
values1.put("mimetype","vnd.android.cursor.item/email_v2");
resolver.insert(data,values1);
注意:
讀取和插入手機聯絡人資訊,需要獲取許可權
android 讀取手機聯絡人
authorities 當局 1 到開發環境data data 目錄下 com.android.providers.contacts databases 匯出到左面contacts2.db 2 用工具開啟資料庫關心三張表 raw contacts data mimetypes 3 建立乙個新的工程去...
讀取系統聯絡人
contentprovider讀取 號碼的uri contactscontract.commondatakinds.phone.content uri contentprovider掃瞄本地路徑uri mediastore.images.media.external content uri cont...
讀取手機聯絡人,複雜 姓名,電話,郵箱
增加許可權,讀取聯絡人,和新增新增聯絡人,根據自己需求新增 raw contacts 這個表中存放的是聯絡人的id data 這個表中存放的是聯絡人的資訊,例如 姓名 郵箱 自定義方法查詢手機聯絡人 private void selectcontact null person p new perso...