获取ContentProvider来获取手机所有的联系人及联系人信息
生活随笔
收集整理的這篇文章主要介紹了
获取ContentProvider来获取手机所有的联系人及联系人信息
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
用ContentProvider內(nèi)容提供者的技術(shù)來(lái)獲取手機(jī)上的聯(lián)系人,比如開(kāi)發(fā)軟件時(shí),如果您的好友也是軟件用戶,則可以通過(guò)手機(jī)聯(lián)系人直接添加好友
下面是實(shí)現(xiàn)步驟
這里就模仿一下獲得
首先在你的界面打一個(gè)按鈕來(lái)獲得
<Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="獲取手機(jī)聯(lián)系人"android:onClick="getContacts"/>然后在相對(duì)應(yīng)的的activity中編寫(xiě)以下代碼 public class MainActivity extends AppCompatActivity {private ContentResolver cr;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//獲取內(nèi)容訪問(wèn)者cr = getContentResolver();}//定義獲得聯(lián)系人的方法public void getContacts(View view){//解析URI content://com.android.contacts/raw_contacts是獲得聯(lián)系人的協(xié)議//記得加content://Uri uri=Uri.parse("content://com.android.contacts/raw_contacts");Cursor cursor=cr.query(uri,null,null,null,null);while (cursor.moveToNext()){//獲得聯(lián)系人的idint _id=cursor.getInt(cursor.getColumnIndex("_id"));//獲得聯(lián)系人姓名String display_name=cursor.getString(cursor.getColumnIndex("display_name"));//循環(huán)打印你所有的聯(lián)系人Log.i("test",_id+" "+display_name);//循環(huán)獲得聯(lián)系人的信息//"content://com.android.contacts/raw_contacts/"+_id+"/data" 協(xié)議Uri uriData=Uri.parse("content://com.android.contacts/raw_contacts/"+_id+"/data");Cursor cursorData=cr.query(uriData,null,null,null,null);while (cursorData.moveToNext()){String mimetype=cursorData.getString(cursorData.getColumnIndex("mimetype"));String data1=cursorData.getString(cursorData.getColumnIndex("data1"));//如果是電話,則打印// vnd.android.cursor.item/phone_v2是聯(lián)系人姓名,同樣的還有email,住址等if("vnd.android.cursor.item/phone_v2".equals(mimetype)){//Log.i("test"," "+mimetype+" "+data1);}}}}}
因?yàn)楝F(xiàn)在的手機(jī)越來(lái)越高級(jí),處理的比較好,所以最后記得添加權(quán)限 <uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>
當(dāng)然,有一些手機(jī)的權(quán)限還是比較高還是拿不到聯(lián)系人是有可能的、
總結(jié)
以上是生活随笔為你收集整理的获取ContentProvider来获取手机所有的联系人及联系人信息的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 05-【istio】-【istio介绍】
- 下一篇: 解决报错:WebSocket conne