自己制作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的开发需要具备以下技能:Java语言、Android Studio集成开发环
2023-06-05
自己做衣服的app
自己做衣服的APP是一个结合了服装DIY和社交交流的应用程序,让用户可以通过手机APP学习服装设计、打样、裁剪、缝制等技能,同时也可以与其他用户互动分享自己的创意设计。这种APP可通过文字、图片、视频等多种形式展现服装DIY的过程,让初学者轻松入门DIY服
2023-06-05
自己做二维码app需要多少钱呢
二维码应用越来越广泛,新兴的移动支付领域更是需要二维码应用作为支付标识,市场前景广阔。而自己做二维码app需要多少钱呢?这个问题不是那么容易回答,因为它涉及很多细节、方面和过程。本文将从技术、人力、成本、效益等方面来看待这个问题。一、技术成本二维码app的
2023-06-05
自己做个app然后叫人家充值进去犯法吗
自己做一个App并让用户在其中充值,并不是一项非法行为。但是,一些因素需要考虑,以确保您的行为不会违反任何法律规定或侵犯用户的权利。首先需要明确的是,如果您向用户收取支付处理费用,您可能需要注册一个受监管的支付服务提供商。这样的注册要求因国家和地区而异。在
2023-06-05
自己做一个app卖东西接口怎么做流程
要自己做一个卖东西的 app 接口,需要掌握以下几个步骤:1. 策划阶段在开始开发之前,需要先进行策划阶段的工作,主要包括市场研究、用户需求分析、功能设计等。在这个阶段中,需要确定 app 的核心功能和定位,以及需要使用的技术方案等。2. 开发环境搭建在确
2023-06-05
自己制作诗集的app苹果
自己制作诗集的App主要是针对爱好写诗或者创作诗句的人群,提供一个方便快捷的平台来保存、管理和分享个人的诗歌创作。下面我会详细介绍一下这款App的原理和功能。一、App原理自己制作诗集的App本质上是一个笔记本应用,提供了一系列功能来帮助用户保存、查看和编
2023-06-05
自己制作app会犯法么
制作自己的app可以说是当前比较热门的话题之一,随着智能手机和移动互联网的普及,越来越多的人开始思考如何为自己或他人开发一个个性化的app,以提高自己的品牌影响力或者获得经济收益。但是,制作自己的app是否合法呢?首先,需要说明的是,制作自己的app不违反
2023-06-05
自贡小商场app开发服务
自贡小商场是一个面向当地商家和消费者的在线购物平台,在平台上可以看到各个商家的商品信息并进行在线购买。自贡小商场app的开发可以通过以下几个步骤进行实现。1. 需求分析在开发自贡小商场app之前,需要进行需求分析。这个过程需要了解用户和商家的需求,以及其它
2023-06-05
自动开发app
自动开发APP是一种基于现有代码库自动生成新应用程序的技术。这种技术可以大幅度提高开发速度和效率,从而降低开发成本。自动开发APP的原理是通过使用AI技术从现有的代码库中自动提取核心部分,然后根据用户需求,自动定制化生成新的应用程序。自动开发APP可以自动
2023-06-05
徐州自动量化交易app开发公司
徐州自动量化交易app开发公司是一家专注于量化交易领域开发的公司。该公司采用先进的算法和技术构建自动化交易系统,能够通过抓取市场数据、执行策略和交易定单,自动化完成交易流程。为了满足不同客户的需求,徐州自动量化交易app开发公司开发了多种类型的交易系统,如
2023-06-05
刷题app自建题库免费
随着计算机技术的不断发展,越来越多的学习资源和学习工具开始充斥着我们的生活。于是一些高效的学习方法和工具应运而生,其中刷题 app 就是一个非常实用的学习工具。近年来刷题 app 在学生中越来越受欢迎,而自建题库更是成为了一种趋势。下面我们来介绍一下刷题
2023-05-31
免费体验自己制作app软件
随着移动互联网的快速发展,手机app已经成为人们生活中必不可少的工具。但是,很多人认为制作一款app需要非常高的技术水平和大量的资金投入,这让很多人望而却步。然而,现在的技术已经非常先进,越来越多的工具被开发出来,让人们可以很容易地制作自己的app。首先,
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1