實現效果:
我們知道,在應用中經常需要獲取某乙個聯絡人的姓名和**號碼,並返回。有兩種方式可以實現,一種是比較簡單的,也就是呼叫系統的選擇聯絡人的介面,通過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...