Android 跳转到系统联系人获取姓名和手机号
来源:互联网 发布:redis 缓存数据库表 编辑:程序博客网 时间:2024/05/22 02:17
所需权限:
<uses-permission android:name="android.permission.READ_CONTACTS"/>
跳转:
Uri uri =ContactsContract.Contacts.CONTENT_URI; Intent intent = new Intent(Intent.ACTION_PICK,uri); startActivityForResult(intent,0);
接收回调:
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == Activity.RESULT_OK) { if (requestCode == 0) { Uri uri=data.getData(); String[] contacts=getPhoneContacts(uri); Log.d(TAG, "姓名:"+contacts[0]+" "+"手机号:"+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; }
本帖转自: http://blog.csdn.net/u014733374/article/details/44835325
0 1
- Android 跳转到系统联系人获取姓名和手机号
- android 获取联系人(姓名,手机号)
- android手机获取联系人姓名和电话号码
- Android获取联系人姓名和电话
- Android跳转到系统通讯录新增和修改联系人
- 联系人查询---姓名、手机号
- 获取联系人姓名和电话
- android:获取联系人信息(姓名和电话)
- android:获取联系人原理(姓名和电话)详解
- android获取联系人权限,然后从日志中打印输出联系人姓名和电话
- Android中 根据电话号码获取联系人姓名
- 【android】通过号码获取联系人姓名
- android 通过电话号码来获取联系人姓名
- Android简单获取手机联系人姓名电话号码
- Android获取手机联系人姓名电话
- android 获取 联系人 名称 与 手机号
- 获取联系人的Id和姓名
- Android选择通讯录姓名和手机号信息
- Bzoj 3172: [Tjoi2013]单词(fail树)
- Introduction to 3D Game Programming with DirectX 11学习笔记 6 Direct3D中的绘制(三)像素着色器
- 最大连续子数组
- Androidc学习笔记七之Service服务
- 关于Ajax
- Android 跳转到系统联系人获取姓名和手机号
- Maven多模块项目
- md5加密
- Cookie 和 LocalStorage 比较
- Linux命令
- Libnids--函数调用顺序之nids_init()
- c++编译错误:invalid new-expression of abstract class type
- 【1】Groovy语言学习:groovy语言简介及基本语法
- CTF--2016XDCTF全国网络安全大赛之reverse2