java获取手机通讯录权限_android获取手机通讯录
1:androidmanifest.xml的内容
package="cn.itcast.contacts"
android:versionCode="1"
android:versionName="1.0">
android:label="@string/app_name">
android:targetPackage="cn.itcast.contacts" android:label="Tests for My App" />
里面重要的是搭建测试环境和添加,即读取和写入联系人信息的权限
2:读取的主要方法
/*
* 读取联系人的信息
*/
public void testReadAllContacts() {
Cursor cursor = this.getContext().getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,
null, null, null, null);
int contactIdIndex = 0;
int nameIndex = 0;
if(cursor.getCount() > 0) {
contactIdIndex = cursor.getColumnIndex(ContactsContract.Contacts._ID);
nameIndex = cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);
}
while(cursor.moveToNext()) {
String contactId = cursor.getString(contactIdIndex);
String name = cursor.getString(nameIndex);
Log.i(TAG, contactId);
Log.i(TAG, name);
/*
* 查找该联系人的phone信息
*/
Cursor phones = this.getContext().getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + contactId,
null, null);
int phoneIndex = 0;
if(phones.getCount() > 0) {
phoneIndex = phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);
}
while(phones.moveToNext()) {
String phoneNumber = phones.getString(phoneIndex);
Log.i(TAG, phoneNumber);
}
/*
* 查找该联系人的email信息
*/
Cursor emails = this.getContext().getContentResolver().query(ContactsContract.CommonDataKinds.Email.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Email.CONTACT_ID + "=" + contactId,
null, null);
int emailIndex = 0;
if(emails.getCount() > 0) {
emailIndex = emails.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA);
}
while(emails.moveToNext()) {
String email = emails.getString(emailIndex);
Log.i(TAG, email);
}
}
}
3:目前手机中的联系人信息,有两个联系人的信息,如图所示,
这是Hellen的联系信息
这是Mike的联系信息
4:测试结果,在控制台输出的内容为:
可以看到在控制台输出了两个联系人的信息。
//--------------------------------------
获取所有分组编号和组的名称
Cursor groupInfoCursor = getContentResolver().query(ContactsContract.Groups.CONTENT_URI, null, null, null, null);
while(groupInfoCursor.moveToNext()) {
int idIndex = groupInfoCursor.getColumnIndex(ContactsContract.Groups._ID);
int titleIndex = groupInfoCursor.getColumnIndex(ContactsContract.Groups.TITLE);
String id = groupInfoCursor.getString(idIndex);
String title = groupInfoCursor.getString(titleIndex);
}
groupInfoCursor.close();
java获取手机通讯录权限_android获取手机通讯录相关推荐
- java获取手机通讯录权限_Android读取手机通讯录联系人到自己项目
本文实例为大家分享了Android读取手机通讯录联系人到项目的具体代码,供大家参考,具体内容如下 一.主界面代码如下: android:layout_width="match_parent& ...
- 安卓项目查手机电量功能_Android获取手机电池电量用法实例
本文实例讲述了Android获取手机电池电量用法.分享给大家供大家参考.具体如下: 原理概述: 手机电池电量的获取在应用程序的开发中也很常用,Android系统中手机电池电量发生变化的消息是通过Int ...
- android 获取u盘名字_Android 获取U盘的卷标(支持中文卷标)
[在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎 1: 盘符 和 卷标的区别 之 ...
- adb修改什么文件获取root权限_Android获取ROOT权限的通用方法
背景 自从Android问世以后,给手机获取ROOT权限变成了玩机爱好者老生常谈的话题.拥有手机,却不能拥有操作手机的最高权限,这对于手机爱好者而言,这怎么可以忍?所以无论Android升到什么什么版 ...
- java手机振动软件_Android实现手机震动效果
本文实例介绍了Android实现手机震动.抖动效果,分享给大家供大家参考,具体内容如下 (1)布局文件如下 xmlns:tools="http://schemas.android.com/t ...
- java实现打手机电话功能_Android 实现手机拨打电话的功能
一部手机最常用的功能就是打电话和发短信了,在Android开发中我们如何通过程序拨打电话呢?本文就给出一个用Android手机拨打电话的简单的实例. 下面是开发此实例的具体步骤: 一.新建一个Andr ...
- requestPermissions读写手机存储权限_Android 11 开发者常见问题: 存储 | FAQ?第二期
我们在 Android 10 中首次引入了 "分区存储" 的概念,旨在保护应用和用户数据并减少文件混乱.自此之后我们收到了开发者们的宝贵建议,这些建议有助于我们对该功能的持续优化, ...
- requestPermissions读写手机存储权限_Android 11 开发者常见问题:存储|FAQ?第二期
我们在 Android 10 中首次引入了 "分区存储" 的概念,旨在保护应用和用户数据并减少文件混乱.自此之后我们收到了开发者们的宝贵建议,这些建议有助于我们对该功能的持续优化, ...
- 安卓获取浏览器上网记录_Android 获取浏览器当前分享页面的截屏示例
今天在项目中碰见这么一个需求:获取 Chrome 浏览器分享时,页面的截屏.静下来一想,既然是分享,那么肯定得通过 Intent 来传递数据,如果真的能获取到 Chrome 分享页面时的截屏,那么 I ...
最新文章
- hbuilderX的upx单位是什么鬼?
- 内核同步对性能的影响及perf的安装和简单的使用
- 保护模式及其编程——实模式与保护模式的切换
- 第九章 常用模块(续)
- POPUP_TO_CONFIRM
- Java中单链表的实现
- Flink 如何实时分析 Iceberg 数据湖的 CDC 数据
- 【STM32】GPIO之LED
- Java开发人员常用网站收录
- Linux下HTTP Server
- 利用Apperance协议定义View的全局外观
- 【Discuz系列教程2】论坛入口forum.php
- iOS 在CollectionView上做展开收起动画
- 【JY】STKO助力OpenSEES系列:结构模态分析以及动力特性(MDOF与等效SDOF验证)
- 如何评估互联网广告效果
- 北京大学计算机系张润楠,▶拜泉县第一中学2019年高考喜报
- Stacked Hourglass Networks for Human Pose Estimation
- 文字烟雾消散特效制作
- spire.doc.free2.7.3生成目录后修改目录的字体
- 三种快排及四种优化方式
热门文章
- 高3米直径10的半圆形求面积是多少
- android 代码设置密码,android-如何在MIFARE Ultralight EV1标签上设置和取消设置密码?...
- 用文心大模型生成剪纸风格的城市插画
- 透明位图Ron Gery Microsoft 网络开发技术小组
- 原生app登录 后台方案(token方案)
- 小插曲--树莓派屏幕分辨率调整
- 计算机使用技巧大全 书,总算明白电脑使用技巧大全
- WZOI-348机动车违章识别系统
- win11一开机就显示“无法打开这个应用,查看Microsoft store,了解有关Nahimic的详细信息”怎么解决?
- 房价基本上决定于货币政策.----看中国货币发行量增长