自己制作app获取联系人相册

随着移动互联网的快速发展,手机已经成为了我们日常生活中必不可少的工具之一。而移动应用(APP)的开发和使用也日益增多。一些应用需要获取用户的联系人和相册等隐私信息,这对于一些不知情的用户来说是非常危险的。那么,如果自己制作一个获取联系人和相册的APP,该如何实现呢?下面就为大家介绍一下相关的原理和具体实现步骤。

一、获取联系人

在Android系统中,可以通过ContentProvider实现对联系人信息的访问。ContentProvider类是Android系统提供的一种标准的数据共享方式,所有的数据都通过一个uri进行访问,并返回一个数据流。而联系人信息的uri为ContactsContract.Contacts.CONTENT_URI。我们可以直接通过以下 ContentResolver 对象的方法来获取联系人信息:

```java

ContentResolver cResolver = getContentResolver();

Cursor cursor = cResolver.query(

ContactsContract.Contacts.CONTENT_URI, null, null, null, null);

```

查询得到的cursor是一个数据流,其中包含了联系人的各种信息。其中,ContactsContract.CommonDataKinds.Phone类表示联系人的电话信息,ContactsContract.Contacts类表示联系人的基本信息。获取电话信息和基本信息的代码如下:

```java

if (cursor.getCount() > 0) {

while (cursor.moveToNext()) {

String id = cursor.getString(

cursor.getColumnIndex(ContactsContract.Contacts._ID));

String name = cursor.getString(

cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));

if (Integer.parseInt(cursor.getString(

cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {

Cursor pCursor = cResolver.query(

ContactsContract.CommonDataKinds.Phone.CONTENT_URI,

null,

ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = ?",

new String[]{id},

null

);

if (pCursor.moveToNext()) {

String phoneNum = pCursor.getString(

pCursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));

Log.e("AAA", "id:" + id + ",name:" + name + ",phone:" + phoneNum);

}

pCursor.close();

}

}

}

cursor.close();

```

这样就可以获取到联系人的所有基本信息和电话信息。

二、获取相册

Android系统中提供了一种叫做MediaStore.Images.Media的接口,可以方便地访问手机的相册信息。我们可以通过以下代码获取到相册中所有的图片信息:

```java

ContentResolver cResolver = getContentResolver();

Cursor cursor = cResolver.query(

MediaStore.Images.Media.EXTERNAL_CONTENT_URI,

null,

null,

null,

MediaStore.Images.Media.DATE_MODIFIED

);

```

这里的EXTERNAL_CONTENT_URI表示的是SD卡上的图片,如果要获取内部存储的图片信息,可以将EXTERNAL_CONTENT_URI改为INTERNAL_CONTENT_URI。获取到Cursor后,我们可以通过遍历Cursor获取到所有的图片信息:

```java

if (cursor != null && cursor.getCount() != 0) {

while (cursor.moveToNext()) {

String title = cursor.getString(

cursor.getColumnIndex(MediaStore.Images.Media.TITLE));

String path = cursor.getString(

cursor.getColumnIndex(MediaStore.Images.Media.DATA));

long size = cursor.getLong(

cursor.getColumnIndex(MediaStore.Images.Media.SIZE));

Log.e("AAA", "title:" + title + ",path:" + path + ",size:" + size);

}

}

```

至此,我们已经成功地获取到了手机中的联系人和相册信息。但是在实际使用中,我们要充分考虑到用户隐私等方面的问题,尽量减小对用户隐私的侵犯。


相关知识:
做手机自媒体用什么app软件
随着智能手机的普及,移动互联网时代的来临,手机自媒体已经成为了一种非常流行和有效的表达方式。手机自媒体可以让个人或机构通过手机端的应用软件,以自己的想法和方式进行创作和发布,包括文字、图片、视频、音频等多种形式。手机自媒体具有方便快捷、低成本、有效传播等特
2023-06-05
自己制作一个动漫app
自己制作一个动漫app,需要掌握一定的技术和知识,但如果有基础和决心,这是一个很有趣且实现可能性较高的项目。下面将详细介绍如何自己制作一个动漫app的原理和步骤。1. 需求分析在制作动漫app时,首先需要进行需求分析,确定要开发什么类型的动漫app以及它需
2023-06-05
自贡校园订餐app开发
随着移动互联网的普及和大众对餐饮外卖服务的需求不断增加,许多校园餐厅也开始采用订餐APP来提供更便捷的服务,而自贡校园订餐APP的开发也成为了一个热门话题。下面将介绍一下自贡校园订餐APP的开发原理及其详细介绍。1. APP的开发原理自贡校园订餐APP开发
2023-06-05
自动排线码制作app
自动排线码制作app是一种可以帮助用户快速生成和管理排线码的应用程序。在电气工程、航空航天、能源开发、交通运输等领域,排线码作为一种应用非常广泛的标识符,用于标记电线、电缆等的编号以及各种管道、设备和成品的流向等信息,以便于维修和管理。为了方便用户生成和管
2023-06-05
怎么自己做apple pencil笔套
随着Apple Pencil在不断地普及,并且越来越受到广泛的欢迎和使用,许多人也开始思考如何更好地保护他们的Apple Pencil。在市场上可以找到各种各样的Apple Pencil笔套,但是自己动手制作一个也是一种不错的选择。本文将给大家提供一个制作
2023-06-05
怎么制作自己的斗地主app
斗地主是一种很受欢迎的扑克牌游戏,在现代社会中,在线斗地主游戏也已经很普及了。假设你有编程基础,想制作一款自己的斗地主app,那么本文将为你介绍其原理和详细步骤。## 一、游戏原理斗地主一般是由三个人参与,通过洗牌、发牌、叫地主、出牌等流程进行,最终胜负。
2023-06-05
有什么app可以自己做书
如今,随着智能手机和平板电脑的普及,越来越多的人开始关注自己创作内容的方式。其中,自己做书(一种数字出版物)变得非常受欢迎。有很多不同的移动应用程序(APP),可以帮助用户制作自己的电子图书,但是哪一款最适合您的需求呢?下面是几种值得一提的可用于制作电子书
2023-06-05
体彩店如何开发自己的app
近年来,随着智能手机的普及,移动互联网已经成为人们获取信息和进行交易的主要渠道之一。同时,越来越多的企业也开始尝试推出自己的移动应用程序(App),以便更好地服务用户。体彩店也不例外,有了自己的App后,可以有效提升用户体验,便捷购买彩票,同时还能促进销售
2023-05-31
什么app可以自己做书
现在随着移动设备和智能手机越来越多的应用程序厂商开发了一些自己的做书软件,这使得作者可以自己做一本电子书。由于选项众多,我们并不能过分地推荐任何一个自己做书软件,但是我们可以简要介绍几个较为受欢迎的自己做书的应用,并阐述它们的原理和特点。1. iBooks
2023-05-31
如何开发一款app自己可以编辑
开发一款可以自己编辑的APP需要有一定的前端开发基础和后端开发基础。下面将从原理和详细介绍两个方面来说明。1.原理开发一款可以自己编辑的APP需要了解一下几个技术:1.1.后端技术后端技术是指用于处理APP数据的技术,通常有以下几种技术:- 数据存储:数据
2023-05-30
可以做历年真题的自考app
随着人们对学历要求的提高,越来越多的人开始选择自学考试来获得更高的学历证书。而对于自考考生来说,历年真题是备考过程中必不可少的资源之一。为了方便考生备考,可以开发一款历年真题的自考APP。该APP的主要功能包括提供历年真题、试题分类整理、提供答案解析及讲解
2023-05-30
挂机自动点击广告app开发
挂机自动点击广告app,也被称为自动点击app,是一种利用人工智能、自动化技术实现的应用程序,可以自动模拟人的手指点击手机屏幕上的广告,从而达到自动点击广告的目的。这类应用程序一般通过利用服务器与终端设备间的网络连接,将自身嵌入到手机系统之中,具有非常强的
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1