Android跳轉(zhuǎn)到通訊錄獲取用戶名稱和手機號碼的實現(xiàn)思路
效果圖如下所示:
先給大家說下實現(xiàn)android 跳轉(zhuǎn)到通訊錄的實現(xiàn)思路:
1.點擊跳轉(zhuǎn)到通訊錄界面
2.獲取通訊錄姓名和手機號碼
3.回調(diào)顯示姓名和手機號碼
1首先是跳轉(zhuǎn)到通訊錄界面
Uri uri = Uri.parse("content://contacts/people"); Intent intent = new Intent(Intent.ACTION_PICK, uri); startActivityForResult(intent, 0);
通過設置通訊錄url跳轉(zhuǎn),可以看到我們用回調(diào)函數(shù)實現(xiàn)
2.回調(diào)函數(shù)
/* * 跳轉(zhuǎn)聯(lián)系人列表的回調(diào)函數(shù) * */ @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { switch (requestCode){ case 0: if(data==null) { return; } //處理返回的data,獲取選擇的聯(lián)系人信息 Uri uri=data.getData(); String[] contacts=getPhoneContacts(uri); et_name.setText(contacts[0]); et_tele.setText(contacts[1]); break; } super.onActivityResult(requestCode, resultCode, data); }
其中g(shù)etPhoneContacts(uri)方法,因為手機的聯(lián)系人和手機號并不再同一個數(shù)據(jù)庫中,所以我們需要分別做處理
private String[] getPhoneContacts(Uri uri){ String[] contact=new String[2]; //得到ContentResolver對象 ContentResolver cr = getContentResolver(); //取得電話本中開始一項的光標 Cursor cursor=cr.query(uri,null,null,null,null); if(cursor!=null) { cursor.moveToFirst(); //取得聯(lián)系人姓名 int nameFieldColumnIndex=cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME); contact[0]=cursor.getString(nameFieldColumnIndex); //取得電話號碼 String ContactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID)); Cursor phone = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + ContactId, null, null); if(phone != null){ phone.moveToFirst(); contact[1] = phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); } phone.close(); cursor.close(); } else { return null; } return contact; }
3.加權(quán)限
<!--獲取通訊錄權(quán)限--> <uses-permission Android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" />
以上所述是小編給大家介紹的Android跳轉(zhuǎn)到通訊錄獲取用戶名稱和手機號碼的實現(xiàn)思路,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
Java4Android開發(fā)教程(二)hello world!
一般的開發(fā)教程都是介紹完安裝配置開發(fā)環(huán)境,緊接著來一篇hello world,算是國際慣例吧,我們當然也不能免俗,哈哈,各位看官請看好了!2014-10-10Android 使用手機NFC的讀取NFC標簽數(shù)據(jù)的方法
這篇文章主要介紹了Android 使用手機NFC的讀取NFC標簽數(shù)據(jù)的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-07-07淺析Android位置權(quán)限以及數(shù)組尋找索引的坑
這篇文章給大家分享了Android位置權(quán)限以及數(shù)組尋找索引的坑的相關(guān)知識點內(nèi)容,有興趣的朋友可以參考學習下。2018-07-07Android 實現(xiàn)獲取手機里面的所有圖片詳解及實例
這篇文章主要介紹了Android 實現(xiàn)獲取手機里面的所有圖片詳解及實例的相關(guān)資料,需要的朋友可以參考下2017-05-05Android 自定義view實現(xiàn)TopBar效果
這篇文章主要為大家詳細介紹了Android 自定義view實現(xiàn)TopBar效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-09-09Android多設備多module打包fat-aar(最新推薦)
這篇文章主要介紹了Android多設備多module打包(fat-aar),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-03-03