想了解Android跳转到通讯录获取用户名称和手机号码的实现思路的相关内容吗,小哥在江湖在本文为您仔细讲解android 跳转通讯录的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:android,跳转通讯录,下面大家一起来学习吧。

效果图如下所示:

先给大家说下实现android 跳转到通讯录的实现思路:

1.点击跳转到通讯录界面

2.获取通讯录姓名和手机号码

3.回调显示姓名和手机号码

1首先是跳转到通讯录界面

Uri uri = Uri.parse("content://contacts/people");

Intent intent = new Intent(Intent.ACTION_PICK, uri);

startActivityForResult(intent, 0);

通过设置通讯录url跳转,可以看到我们用回调函数实现

2.回调函数

/*

* 跳转联系人列表的回调函数

* */

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

switch (requestCode){

case 0:

if(data==null)

{

return;

}

//处理返回的data,获取选择的联系人信息

Uri uri=data.getData();

String[] contacts=getPhoneContacts(uri);

et_name.setText(contacts[0]);

et_tele.setText(contacts[1]);

break;

}

super.onActivityResult(requestCode, resultCode, data);

}

其中getPhoneContacts(uri)方法,因为手机的联系人和手机号并不再同一个数据库中,所以我们需要分别做处理

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;

}

3.加权限

以上所述是小编给大家介绍的Android跳转到通讯录获取用户名称和手机号码的实现思路,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

相关文章

android uri 电话号码,android 跳转通讯录 Android跳转到通讯录获取用户名称和手机号码的实现思路...相关推荐

  1. android uri 电话号码,Android跳转到通讯录获取用户名称和手机号码

    看到App项目中有这样一个需求,自己花时间也做了下.某些在线购买或者快递业务等App会涉及到添加用户地址功能,就需要编辑用户名称.手机号码.这里就来实现快速跳转到通讯录界面获取通讯录用户信息的功能. ...

  2. android 获取手机号码 权限,Android跳转到通讯录获取用户名称和手机号码

    思路: 1.点击跳转到通讯录界面 ` Uri uri = Uri.parse("content://contacts/people"); Intent intent = new I ...

  3. java,微信公众号跳转到第三方界面,第三方界面获取用户信息,申请微信公众号测试号

    文章目录 1.先申请微信公众号的测试号 2.配置网页授权相关 3.查看微信官方文档获取用户信息 4.便是编写后端代码了 1.先申请微信公众号的测试号 http://mp.weixin.qq.com/d ...

  4. Android之QQ授权登录获取用户信息

    有时候我们开发的app需要方便用户简单登录,可以让用户使用自己的qq.微信.微博登录到我们自己开发的app. 今天就在这里总结一下如何在自己的app中集成QQ授权登录获取用户信息的功能. 首先我们打开 ...

  5. android微信登录获取微信账号,微信小程序--登录授权,一键获取用户微信手机号并登录...

    一.前言 微信小程序登录流程时序 说明: 小程序调用wx.login() 获取 临时登录凭证code ,并回传到开发者服务器 开发者服务器以code换取 用户唯一标识openid 和 会话密钥sess ...

  6. android 通过类名跳转activity,Activity跳转方式总结

    一.显式调用方法 方法一: Intent intent=new Intent(本类,将要跳转的类); //Intent intent=new Intent(MainActivity.this,Jump ...

  7. android 跳转系统通知,android 跳转到应用通知设置界面

    4.4以下并没有提过从app跳转到应用通知设置页面的Action,可考虑跳转到应用详情页面,下面是直接跳转到应用通知设置的代码: if (android.os.Build.VERSION.SDK_IN ...

  8. 教你如何在快应用中跳转到Android的app

    最新遇到一个需要从快应用跳转到Android App的需求,以下记录下实现的方式. 在需要跳转的目标安卓App的activity中添加对外的schema,示例代码如下: <activityand ...

  9. android 跳转商城,Android根据渠道跳转应用商店

    判断当前app的渠道号 int channelCode = BuildConfig.CHANNEL_CODE 获取当前手机包含的应用商店 /** * 获取当前手机上的应用商店数量 * @param c ...

最新文章

  1. Media Player网页播放音频,视频,图片总汇
  2. 云栖科技评论NO.2 | 张学友演唱会逃犯集中落网,真正的“神捕”其实是AI
  3. 机器学习中的训练与损失 test and loss (训练loss不下降原因集合)
  4. java 素数 五行_【数论】素数的判定与筛法
  5. 2021HDU多校6 - 7029 Median(思维)
  6. sdn框架的计算机网络管理,清华SDN实践--SDN 系统架构与数据中心应用
  7. Swift 在 GAIA 平台云端一体化的探索
  8. 用户控件事件使用delegate
  9. 摘录本的摘录内容_使用tSQLtSQL单元测试数据仓库摘录
  10. c语言的编译过程,从文本到可执行文件
  11. 怎么用软件设计班旗_设计制作:班旗设计
  12. 岛屿周长c语言,[IOI2008]Island 岛屿
  13. 100句温柔又体贴的话
  14. 量化交易之单因子策略
  15. 如何批量将 bmp 格式图片转换转换为 jpg
  16. 3036: 绿豆蛙的归宿
  17. 电化学气体传感器的工作原理
  18. 梦想扬帆,吹响一月号角
  19. java security 详解_Spring Security Remember me使用及原理详解
  20. 【狂神说】CSS学习笔记

热门文章

  1. spring boot controller 初始化_使用 Spring 快速创建 web 应用的两种方式
  2. python mock接口怎么用_python接口自动化测试 - mock模块基本使用介绍
  3. VMWAre+centeros7下tomcat的安装
  4. OpenShift 4 - 使用Prometheus监控Node节点
  5. C#中的深度学习:Keras.NET中的硬币识别,第二部分
  6. Vue 3 正式发布
  7. UML2.0 学习笔记
  8. Kong 1.0 GA 版本正式发布,微服务 API 网关
  9. python 提取列表元素_Python如何获取列表中元素的索引,python,获得,某个,index
  10. 《A Discussion on Solving Partial Differential Equations using Neural Networks》梳理