android之實現跳轉手機通訊錄獲取指定姓名和手機號碼
實現跳轉手機通訊錄獲取指定姓名和手機號碼
1、先新增許可權
<!-- 讀聯絡人許可權 -->
<uses-permission android:name="android.permission.READ_CONTACTS" />
<!--用於讀取手機當前的狀態-->
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
如果是android系統是6.0之後的,需要在程式碼中動態新增許可權
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
int hasWriteContactsPermission = checkSelfPermission(Manifest.permission.READ_CONTACTS);
if (hasWriteContactsPermission != PackageManager.PERMISSION_GRANTED){
requestPermissions(new String[]{Manifest.permission.WRITE_CONTACTS},REQUEST_CODE_ASK_PERMISSIONS);
return;
}
}
2、點選跳轉實現
Intent intent = new Intent(Intent.ACTION_PICK,ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(intent, 0);
3、在返回頁面重寫onActivityResult()方法
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(data==null)
{
return;
}
if(requestCode==0) {
/* **//*/處理返回的data,獲取選擇的聯絡人資訊***/
Uri uri = data.getData();
String[] contacts = getPhoneContacts(uri);
LogHelper.d(TAG,"------contacts--"+contacts[0]);//列印出的姓名
LogHelper.d(TAG,"------contacts--"+contacts[1]);//列印出來的電話
addGoodsName.setText(contacts[0]);
addGoodsPhone.setText(contacts[1]);
}
}
上面實現獲取姓名電話的方法getPhoneContacts()如下
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();
//取得聯絡人姓名**
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;
}
由此就可以獲取通訊錄中的姓名和電話了
相關文章
- android 獲取手機號碼Android
- Android之獲取手機UDIDAndroid
- excel表格怎麼提取手機號碼和姓名?Excel
- 奇思妙想,獲取對方手機通訊錄
- Java解析微信獲取手機號資訊Java
- [小程式開發實戰]使用WxJava實現手機號獲取Java
- ng 姓名,手機,身份證號碼 脫敏處理
- 微信小程式踩坑之獲取手機號微信小程式
- 教你excel表格怎麼提取手機號碼和姓名,不用公式和函式Excel公式函式
- 隨機生成中文姓名,手機號,郵編,住址(Java)隨機Java
- Android手機獲取Root許可權Android
- oauth 實現手機號碼登入OAuth
- uniapp微信小程式獲取手機號 位置資訊APP微信小程式
- 手機通訊錄怎麼備份?手機通訊錄的幾種備份方法
- 如何用意念獲取附近美女的手機號碼
- ios 手機驗證碼獲取iOS
- iOS 獲取手機型號,XR,XS,MAXiOS
- 小程式獲取手機號親測成功
- 【android】獲取手機安裝的所有程式Android
- 手機號機主姓名核驗,簡單操作輕鬆完成!
- 【原始碼】RocketMQ如何實現獲取指定訊息原始碼MQ
- Android 從手機相簿獲取圖片 uri 路徑 從相機獲取照片Android
- 手機瀏覽器通過Scheme跳轉APP,相容各種手機瀏覽器瀏覽器SchemeAPP
- python爬蟲解決趕集網掃碼獲取手機號Python爬蟲
- 手機直播原始碼,Android studio 實現簡單的視訊播放原始碼Android
- Abp 實現通過手機號註冊使用者
- 微信開發之小程式獲取手機號授權登入
- 線上直播原始碼,通過手機號簡訊接收驗證碼原始碼
- Android 完美實現手機號344格式化效果Android
- 短視訊平臺原始碼,獲取安卓手機驗證碼原始碼安卓
- 蘋果手機獲取UDID蘋果
- 獲取手機外網IP
- 微信小程式獲取微信繫結授權手機號getPhoneNumber 全流程及出現手機號帶*號問題詳解微信小程式
- 手機號碼簡訊驗證註冊
- 微信小程式如何獲取使用者手機號微信小程式
- 手機號碼驗證
- 男子非法獲取手機號惡意套現 洩露65萬餘條個人資訊
- 直播平臺搭建,Android手機拍照和手機相簿選取圖片的工具Android