java访问手机里的通讯录,访问手机通讯录(示例代码)
1.在AndroidManifest.xml设置访问通讯的权限:
//添加访问通讯录的权限
2.模拟获取通讯录的名称与电话号码,然后用ListView进行显示,现在xml文件中添加ListView,
android:id="@+id/contact_listview"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
3.在Activity中,配置ListView(核心代码)
private ListView listView;
private ArrayAdapter adapter; //适配器
List contactList = new ArrayList(); //通讯获取的数据
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = (ListView)findViewById(R.id.contact_listview);
adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, contactList);
listView.setAdapter(adapter);
/*获取通讯录数据
* 1.先判断是否已经有读取通讯录的权限
* 2.如果没有的话,询问用户,如果有的话,直接读取通讯录的数据*/
//1
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED ) {
//未获得权限,询问用户
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_CONTACTS}, 1);
} else {
//已经权限
readContacts();
}
}
//读取通讯录数据
public void readContacts() {
Cursor contactCursor = null;
try {
contactCursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null);
if ( contactCursor != null ) {
while (contactCursor.moveToNext()) {
//读取通讯录数据
String name = contactCursor.getString(contactCursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
String phoneNumber = contactCursor.getString(contactCursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
contactList.add(name + "
" + phoneNumber);
}
adapter.notifyDataSetChanged(); //刷新ListView
}
}catch ( SecurityException e) {
e.printStackTrace();
}
}
//权限选择结果回调
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
switch (requestCode) {
case 1:
{
if ( grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED ) {
readContacts();
} else {
Toast.makeText(this, "你不能读取用户通讯录", Toast.LENGTH_SHORT).show();
}
}
break;
default:
break;
}
}
ok
java访问手机里的通讯录,访问手机通讯录(示例代码)相关推荐
- php汉字转区位码,PHP里实现汉字转区位码的示例代码_php
以下为引用的内容: global $PHP_SELF; //echo $PHP_SELF; $t1=$_POST['textfield1']; $t2=$_POST['textfield2']; $t ...
- php 区位码字符,PHP里实现汉字转区位码的示例代码
PHP里实现汉字转区位码的示例代码 PHP里如何实现汉字转区位码这个问题一直困扰这大多程序员,那么下面这个源码实例相信能给大家带来很大的帮助. 以下为引用的内容: global $PHP_SELF; ...
- java printwriter 文件,java使用PrintWriter写文件,javaprintwriter写,下面示例代码演示使用Pr...
java使用PrintWriter写文件,javaprintwriter写,下面示例代码演示使用Pr 下面示例代码演示使用PrintWriter方法写文件. PrintWriter的构造函数接受Fil ...
- H5 页面设置了字体的粗细样式,但是在华为手机里微信打开访问样式不生效?
问题 字体样式设置了 font-weight: bold;,但是效果出不来 span {font-weight: bold; } 原因 产生这个问题的原因就是自己在华为手机里设置了字体: 选择默认即可 ...
- android手机里照片恢复,安卓手机上误删的照片 要怎样才能找回?
不论是不是手贱,我们在手机(这里指安卓手机)上误删照片时有发生.对此你可能会觉得无关痛痒,照片没了就没,对我来说也没什么大不了.不过,如果那张照片对你非常重要,或可能藏着一段美好的回忆,而且恰巧你之前 ...
- java 二十四节气,eoLinker-API_Shop_二十四节气查询_API接口_Java调用示例代码
eoLinker-API Shop 二十四节气查询 Java调用示例代码 二十四节气查询 二十四节气的时间.由来.习俗以及养生 该产品拥有以下APIs: 1.查询二十四节气 2.查询节气详情 注意,该 ...
- java异常判断_Java异常退出条件的判断示例代码
无论是功能性代码还是算法性代码,程序都是一系列流程的合集 既然是流程就分为:一般流程和异常流程: 一般流程保证了基本功能: 异常流程则是对程序稳定性的保证,不能因为一些非法输入,项目就挂了: 注意,布 ...
- java 静态初始化数据_Java 静态数据初始化的示例代码
无论创建多少个对象,静态数据都只占用一份存储区域.static关键字不能应用于局部变量,因此它只能作用于域.如果一个域是静态的基本类型域,且也没有对它进行初始化,那么它就会获得基本类型的标准初始值:如 ...
- java实现图像对比度增强_java图片对比度调整示例代码
java图片对比度调整示例代码 发布于 2020-12-31| 复制链接 摘记: 前言本文主要给大家介绍了关于java图片对比度调整的方法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍 ...
- 局域网计算机访问,局域网里的计算机访问
A.网络协议配置问题, B.Win XP计划任务的问题. 但如果其它Windows电脑在网上邻居中根本看不到WinXP那台电脑,便可能是用户锁定和安全策略没有设置好.这时就需要从以下几个方面入 ...
最新文章
- 《评人工智能如何走向新阶段》后记(再续16)
- Homebrew 1.9发布,将支持Linux与Windows 10
- 通过BeanFactory获取bean的几种方法
- js进阶 11-16 jquery如何查找元素的父亲、祖先和子代、后代
- hyperworks2019安装教程
- [论文浅析]ICLR2017 跨语言,跨任务,跨领域序列标注
- C++shell sort希尔排序的实现算法之一(附完整源码)
- bv值是什么意思_BV出爆款了,今年买包怎能不盘一只“云朵”?
- python3入门与实践
- python开发学习-day03(set集合、collection系列 、深浅拷贝、函数)
- 《R语言机器学习:实用案例分析》——1.8节总结
- 【劲峰论道时空分析技术-学习笔记】1 时空数据和时空变量时空过程和时空机理
- 人均维护服务器数量,华为FusionCube一体机助力金华职业技术学院构建最佳云平台...
- Bitmap 图片说明
- 软件安全实验——lab10(一、基于时间的侧信道攻击)
- 油田大数据与创新之路的探究
- 何佳佳:民生银行基于开源的运维实践
- 4070ti和3080性能差多少 rtx4070ti和rtx3080区别对比
- Realme K60 Ultra参数配置怎么样?红米Realme K60 Ultra电池容量
- C / C++头文件大全