调用系统应用选择联系人并返回联系人信息
来源:互联网 发布:台北故宫知乎 编辑:程序博客网 时间:2024/05/21 05:18
调用系统应用选择联系人并返回联系人信息
实现步骤:
- 用startActivityForResult的方式启动Intent
- onActivityResult获取返回的Uri信息
- 根据Uri查询联系人信息
简单演示(因为是真机演示,所以截走了联系人的界面)
1.启动联系人选择:
Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI); //REQUEST_CODE为自定义的请求码startActivityForResult(intent, REQUEST_CODE);
2.获取返回的Uri
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == REQUEST_CODE) { if (resultCode == RESULT_OK) { Uri uri = data.getData(); Cursor cursor = managedQuery(uri, null, null, null, null); //查询联系人姓名的方法 String contactName = getContactName(cursor); //查询联系人电话的方法 String contactNumber = getContactNumbler(cursor); } }
3.根据uri查询联系人信息
获取联系人姓名:
private String getContactName(Cursor cursor) { cursor.moveToFirst(); String name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)); return name; }
获取联系人电话:
private String getContactNumbler(Cursor cursor) { StringBuilder builder = new StringBuilder(); //获取所选联系人的电话的个数 int count = cursor.getInt(cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER)); if (count > 0) { // 存在电话 //获取联系人的id int id = cursor.getInt(cursor.getColumnIndex(ContactsContract.Contacts._ID)); //根据id查询电话 Cursor phoneCursor = managedQuery(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + id, null, null); if (phoneCursor.moveToFirst()) { String numbler = ""; do { numbler = phoneCursor.getString(phoneCursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); builder.append(numbler+"\n"); } while (phoneCursor.moveToNext()); } } return builder.toString(); }
测试代码已分享到Github
0 0
- 调用系统应用选择联系人并返回联系人信息
- Android中自建应用调用系统联系人并返回结果
- 安卓打开系统联系人界面并返回联系人信息
- Android学习之调用系统联系人页面返回联系人信息
- android调用系统联系人返回联系人结果,
- android调用系统通讯录,并返回联系人号码和称呼
- Android调用系统通讯录,并返回联系人号码和称呼
- android之选择联系人并返回电话号码
- android之选择联系人并返回电话号码
- 获取系统联系人并返回某个选中的联系人
- Android 选择系统联系人并读取联系人数据
- IOS调用系统联系人界面获取联系人信息
- Android------读取并选择系统联系人数据
- 选取返回联系人信息
- IOS-系统API调用联系人信息
- iOS 调用系统通讯录 获取联系人信息
- 调用选择联系人对话框
- Android 调用联系人列表,选择联系人
- Jsp跳出frame框架
- 最近学习qt,一些细节备忘
- algrothm_Further_One
- sybase数据库JDBC连接方式
- 判断一个数中的二进制中有几个1
- 调用系统应用选择联系人并返回联系人信息
- iOS证书申请教程
- 今天开始学Pattern Recognition and Machine Learning (PRML),章节1.6,Information Theory信息论简介
- ui控件的属性一般都是weak,但是内部变量的属性都是强引用,一般我们都是创建一个内部变量,然后让控件引用属性指向内变量
- [Cocos2d-x v3.x官方文档]纹理缓存
- airplay
- opencv直方图
- 今天开始学模式识别与机器学习(PRML),章节5.1,Neural Networks神经网络-前向网络。
- HTML5必须知道的那些事