呼叫android自帶的聯絡人

2021-09-01 15:23:25 字數 2142 閱讀 2350

android程式的開發中,經常要實現的乙個功能是呼叫系統自帶的聯絡人介面,做到選擇人之後,取得相應的名稱和號碼。而android2.0前後實現方式上也有一些差別,主要是2.0版本後聯絡人api發生了變化,由原來的contacts變成了contactscontract。

一 2.0之前取聯絡人列表的方式:

宣告意圖方式一

intent intent = new intent();

intent.setaction(intent.action_pick);

intent.setdata(contacts.people.content_uri);

startactivityforresult(intent, 

pick_contact

);

宣告意圖方式二

intent intent  = new intent(intent.action_pick);

intent.settype("contacts.people.content_type");//vnd.android.cursor.dir/person

startactivityforresult(intent, 

pick_contact

);

實現onactivityresult

protected void onactivityresult (int requestcode, int resultcode, intent data)

uri uri = data.getdata();

cursor cursor = getcontentresolver().query(uri, null, null, null, null);

cursor.movetofirst();

string number = cursor.getstring(cursor.getcolumnindexorthrow(phones.number));

log.d(tag, "number" + number);

mcontacttext.settext(number);

mcontacttext.setselection(number.length());

break;

default:

break; }

二 2.0之後取聯絡人列表的方式:

宣告意圖方式一

intent intent = new intent(intent.action_pick, contactscontract.contacts.content_uri);

startactivityforresult(intent, pick_contact);

宣告意圖方式二

intent intent = new intent(intent.action_pick);

intent.settype(contactscontract.contacts.content_type);//vnd.android.cursor.dir/contact

startactivityforresult(intent, pick_contact);

實現onactivityresult

@override

public void onactivityresult(int reqcode, int resultcode, intent data)

phones.close();

}

}

}

break;

}

}

Android操作聯絡人

android系統中的聯絡人也是通過contentprovider來對外提供資料的,我們這裡實現獲取所有聯絡人 通過 號碼獲取聯絡人 新增聯絡人 使用事務新增聯絡人。獲取所有聯絡人 1.android系統中的聯絡人也是通過contentprovider來對外提供資料的 2.資料庫路徑為 data d...

Android操作聯絡人

一 聯絡人資料庫 聯絡人的資料庫檔案的位置 data data com.android.providers.contacts databases.contacts2.db 資料庫中重要的幾張表 1 contacts表 該錶儲存了所有的手機測聯絡人,每個聯絡人佔一行,該錶儲存了聯絡人的 contact...

android 聯絡人詳解

操作聯絡人工程需要許可權,不然會報錯。android聯絡人是用資料庫儲存的,資料庫結構如下 raw contacts表 主要儲存了每個聯絡個的唯一表示欄位 id欄位。data表 raw contact id就是raw contacts中的 id欄位,所有raw contact id值相同的都是 同乙...