自己制作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哪个比较好
自考是每年都有很多人参与的考试,考生们为了更好地备考这个考试,需要一个好用的自考做题app。现在市场上有很多自考做题app,如何选择一个好用的自考app呢?在选择自考做题app时,需要考虑以下方面:一、做题的类型自考考试需要掌握多种类型的题目,如选择题、填
2023-06-05
自建阅读器app
随着数字化时代的到来,越来越多的人选择使用电子书进行阅读。而对于电子书的阅读,使用阅读器app已经成为了必不可少的工具。为了更好地为自己和大家提供优质的阅读体验,自建阅读器app成为了许多人们的选择。那么,自建阅读器app的原理是什么?下面就为大家介绍一下
2023-06-05
自己做英语单词的app
在现代社会,英语已经不再是一种语言,而是一种生活方式。并且,掌握好英语可以在你的职业生涯有更好的表现,特别是在互联网领域,过程中涉及到各种英文技能,如阅读英文文档、编写英文邮件、与国际合作伙伴进行会谈,等等。因此,大多数人都想提高他们的英语能力。对于学习英
2023-06-05
自己做了app网上卖产品如何注册店铺
如果您准备在自己的APP中销售产品并注册在线店铺,则必须考虑几个因素。在本文中,我们将介绍注册店铺的原理并提供详细介绍。第一步: 选择适合您的在线平台您可以选择自己的APP来注册一个在线店铺,也可以使用市场上已经成熟的在线平台,如亚马逊、eBay等。选择正
2023-06-05
自己开发一个app可以卖吗
当今社会,移动互联网的发展已经达到了一个非常高的水平,App 的市场已经日趋成熟。如果你有一个好的创意想法,那么开发一个自己的App是完全可以成为一个成功的商业项目的。那么,开发一个App可以卖吗?本文将会对这一问题进行详细的介绍和解答。首先,我们需要明确
2023-06-05
自己制作金融app
随着无现金时代快速来临,越来越多的人开始使用金融类App进行日常的消费以及投资理财。而自己制作一款金融类App也许会成为你的下一个巨大挑战。在这里,我会向你详细介绍和解释自己制作金融类App的原理。首先,我们需要使用一些基础的编程语言,包括Java、Pyt
2023-06-05
说唱可以自己制作伴奏的app
随着移动互联网的普及和人们对音乐创作的热情不断升温,一些面向音乐创作的应用程序也越来越受欢迎。其中,一些可以让用户自己制作伴奏的说唱应用,受到了很多说唱爱好者的欢迎。本篇文章将为大家介绍如何制作一个可以自己制作伴奏的说唱应用。1.音乐样本管理说唱应用首先需
2023-05-31
什么app可以自己制作漫画
现在,随着科技的发展和移动互联网的普及,越来越多的人爱看漫画。相比其他的阅读方式,漫画有着独特的特色。因此,自己制作漫画也成为了一种很受欢迎的娱乐方式。现在有许多应用程序可以用来创建漫画,下面我将介绍一些制作漫画的APP。1. Comic Strip Ma
2023-05-31
能自己制作的app软件
如今,在智能手机和平板电脑等移动设备的普及下,软件开发变得越来越重要。许多人利用自己的创意和技能制作出了一些很棒的应用,比如游戏、社交媒体、工具等等。如果你也想自己制作一个app软件,那么本文将会为你介绍一些制作app的原理和详细介绍。1. 开发语言首先,
2023-05-30
如何自己开发一个微信小程序买货app
微信小程序是一种基于微信平台开发的应用程序,它可以在微信内直接使用,无需安装或下载。微信小程序已经得到了越来越多的应用,如电商购物、旅游预订、生活服务等。本文将教你如何自己开发一个微信小程序买货app。首先,需要注册微信小程序账号和开发者账号,并下载微信开
2023-05-30
iphone安装自己开发的app
在iOS系统下,常见的方式是通过Xcode进行安装,但是如果是非开发者,或者是在没有Mac电脑的情况下,该如何安装自己开发的iOS应用呢?以下是其中的两种常见方式。一、使用 Apple 开发人员账号 前提条件: Apple 开发人员账号1. 打包应用在Xc
2023-05-30
app怎么制作自己的生活in记
In 记是一款记录生活的App,可以记录用户的生活点滴并生成可分享的故事。如果您想要制作自己的生活In 记,那么需要具备以下的技能和技术:1. UI/UX设计在制作生活In 记的过程中,UI/UX设计是非常关键的。如果没有良好的UI/UX设计,即使功能再强
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1