獲取手機通訊錄資訊方法總結

2021-06-26 19:09:34 字數 1510 閱讀 3500

1.最簡潔的方法

使用類android.provider.contactscontract.commondatakinds.phone; 

**如下:

cursor c = getcontentresolver().query( contactscontract.commondatakinds.phone.content_uri, null, null, null,null);  

startmanagingcursor(c);

listadapter adapter=new ******cursoradapter(this,

android.r.layout.******_list_item_2,

c,

new string,

new int);

然後就可以使用listview顯示姓名和**號碼了。

注意:

1.如果乙個人有兩個**,則分別顯示。

2.如果有兩個相同的人,也會分別顯示,不會顯示乙個人的。

執行結果:

2.一般方法

使用類

android.provider.contactscontract.contacts
**如下:

mapcontacts;  

list> list=new arraylist>();

int nameindex=-1;

contentresolver cr=getcontentresolver();

cursor cur=cr.query(contactscontract.contacts.content_uri, null, null, null,null);

while(cur.movetonext())

contacts=new hashmap();

//放入map

contacts.put("name", name);

contacts.put("number", number);

list.add(contacts);

} cur.close();

得到名字和**號碼,放入map中,然後再鈄map放入list中。

之後就可以使用listview顯示名字和**號碼:

部分**如下:

******adapter adapter = new ******adapter(this,list,android.r.layout.******_list_item_2,   

new string,

new int);

listview.setadapter(adapter);

注意:

1.若乙個姓名下有多個**號碼,則只顯示乙個姓名,多個號碼。

2.若有多個同名的,還是顯示多個姓名。

結果截圖:

獲取手機通訊錄

在公司裡寫了一段上傳使用者通訊錄的 寫下來,以便以後查閱 獲取手機裡的通訊錄 獲取通訊錄 param context return 返回包含使用者名稱,與號碼的arraylist public arraylistgetcontact context context phones.close alla...

獲取手機通訊錄

手機聯絡人,通過乙個服務想歪提供資料 所有手機聯絡人的資料我們會在服務裡面查詢,然後再返回給activity 首先,我們建立出 contentresolver contentresolver 的建立時通過上下文來獲取的 contentresolver cr context.getcontentres...

iOS 獲取手機通訊錄

首先匯入 addressbook.framework 獲取通訊錄資訊核心 如下 獲取通訊錄中每條資訊內容 abaddressbookref tmpaddressbook abaddressbookcreatewithoptions null,null dispatch semaphore t sem...