呼叫系統介面挑選聯絡人

2021-09-01 10:08:44 字數 1044 閱讀 8574

實現效果:

我們知道,在應用中經常需要獲取某乙個聯絡人的姓名和**號碼,並返回。有兩種方式可以實現,一種是比較簡單的,也就是呼叫系統的選擇聯絡人的介面,通過startactivityforresult來呼叫,在onactivityresult中處理返回的結果。

下面我們看看具體是如何實現的:

private static final int contact_picker_result = 0;
/**

* launch system contact picker activity

* * 啟動系統的挑選聯絡人的activity

* */

private void launchcontactpicker()

@override

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 name = cursor.getstring(cursor.getcolumnindexorthrow(phone.display_name));

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

etshowcontact.settext(name + number);

break;}}

}

但是這樣做有乙個問題。一次只能選擇乙個聯絡人。那麼如何實現可以同時選擇多個聯絡人呢?目前我知道的方法只有這樣做:自己獲取所有聯絡人的資訊,然後從這些資訊中實現多選。下次我會展示乙個我的做法給大家看看。

如果發現問題歡迎指正。

讀取系統聯絡人

contentprovider讀取 號碼的uri contactscontract.commondatakinds.phone.content uri contentprovider掃瞄本地路徑uri mediastore.images.media.external content uri cont...

呼叫android自帶的聯絡人

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

獲得聯絡人

注意在 後要加上 貌似從android2.0開始,聯絡人的api做了很大的調整。people介面由contactscontract.contacts代替。在聯絡人的 號碼中有很多種,如果只想獲得手機號碼。如下 cursor phones mcontext.getcontentresolver que...