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
- 奇思妙想,獲取對方手機通訊錄
- excel表格怎麼提取手機號碼和姓名?Excel
- Android使用RecycleView實現魅族手機通訊錄介面AndroidView
- Android之獲取手機UDIDAndroid
- webView與js互動——獲取通訊錄手機號並顯示運營商WebViewJS
- android系統中獲取imei號和其他手機資訊Android
- 訪問手機通訊錄
- android獲取手機ipAndroid
- 微信小程式踩坑之獲取手機號微信小程式
- iphone獲取手機裝置號iPhone
- ng 姓名,手機,身份證號碼 脫敏處理
- css模擬實現手機通訊錄佈局效果CSS
- [小程式開發實戰]使用WxJava實現手機號獲取Java
- 手機通訊錄怎麼備份?手機通訊錄的幾種備份方法
- 隨機生成中文姓名,手機號,郵編,住址(Java)隨機Java
- Android獲取手機配置資訊Android
- Java解析微信獲取手機號資訊Java
- 教你excel表格怎麼提取手機號碼和姓名,不用公式和函式Excel公式函式
- oauth 實現手機號碼登入OAuth
- 和多號安全通訊指南 雙11網購手機號碼放心留!
- 樂視超級手機如何匯入通訊錄 樂視超級手機匯入通訊錄教程
- ios 手機驗證碼獲取iOS
- iOS 獲取手機型號,XR,XS,MAXiOS
- 小程式獲取手機號親測成功
- 手機號機主姓名核驗,簡單操作輕鬆完成!
- iOS 之獲取APP與手機 資訊iOSAPP
- Android手機獲取Root許可權Android
- Android如何獲取手機各項資訊Android
- 線上直播原始碼,通過手機號簡訊接收驗證碼原始碼
- Android程式設計獲取手機型號,本機電話號碼,sdk版本及firmware版本號(即系統版本號)Android程式設計
- 短視訊平臺原始碼,獲取安卓手機驗證碼原始碼安卓
- 手機號碼定位
- 微信開發之小程式獲取手機號授權登入
- Abp 實現通過手機號註冊使用者
- 【原始碼】RocketMQ如何實現獲取指定訊息原始碼MQ
- 微信小程式獲取微信繫結授權手機號getPhoneNumber 全流程及出現手機號帶*號問題詳解微信小程式
- adb 獲取Android手機資訊命令(1)Android