自己制作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来开始自己的自媒体生涯。1. 微信公众号微信公众号是国
2023-06-05
自己做个app难不难
自己制作一个应用程序需要掌握一定的编程技能和开发工具,而这些技能和工具的复杂程度在不同的场景下也会有所不同。另外,制作应用程序还需要具备一定的设计能力和用户体验知识。总的来说,自己制作一个应用程序并不是一件非常容易的事情,需要投入相当的时间和精力才能达到理
2023-06-05
自己开发app和饭店合作送餐
在当前的物联网时代,餐饮外卖已经成为了企业和消费者必不可少的生活方式。为了满足消费者对餐饮外卖服务的需求,越来越多的饭店开始与第三方外卖平台合作,为消费者提供外卖服务。但是在这种模式下,饭店往往需要支付佣金,这使得饭店的盈利空间受到了限制。因此,一种更为高
2023-06-05
自己制作的app如何放到应用宝里面
要想自己制作的app能够放到应用宝里面,需要了解应用宝的发布流程和相应的规则。首先,需要注册一个应用宝开发者账号。在注册完成后,进入开发者中心创建应用信息。在创建应用的过程中,需要填写应用的名称、版本号、应用类别和应用介绍等信息,同时需要上传应用截图和应用
2023-06-05
用什么app可以自己做漫画
现在,自己做漫画是件非常流行的事情,不仅可以锻炼自己的创作能力,还可以展示自己的想象力和才能。在这个数字时代,有很多应用程序可以帮助你实现这个想法。下面将介绍一些常用的APP。1. MediBang PaintMediBang Paint是一款非常强大的应
2023-06-05
一个可以制作自己各种风格的app
制作自己的APP不是件难事,只要有一定的编程技能和创意,就能轻松地制作出自己的APP。下面为大家介绍一种制作自己各种风格的APP的方法。第一步:寻找适合自己的开发平台制作APP的第一步是找到适合自己的开发平台,通常使用较多的平台有:Android Stud
2023-06-05
外卖app自己能制作吗
制作一个外卖app实际上需要多个环节,包括前期规划、设计、编程、测试、上线等。下面我将从这些方面,详细介绍制作外卖app的原理:一、前期规划在制作外卖app之前,需要进行前期规划工作。主要包括确定目标受众、商业模式、运营策略和设计方案等。这个阶段需要进行市
2023-05-31
手机自己做网站设计的app
就目前来说,越来越多的人都有了自己的网站,并且手机已成为人们不可或缺的工具之一。然而,要设计一个高质量、具有吸引力的网站并不是易如反掌的事情,特别是对于没有相关技能和知识的人来说。但是,随着技术的发展,有许多手机应用程序可以帮助初学者快速创建各种类型的网站
2023-05-31
美团app可以自己开发吗
美团是目前国内最大最常用的生活服务平台之一,其覆盖面广,并且拥有着自己的特色服务。那么问题来了,美团App是否可以自己开发呢?本文将会从原理和详细介绍两个方面来讲解。一、美团App的原理美团App是由美团公司开发的一款移动端生活服务平台,其主要功能包括餐饮
2023-05-30
可以做一个外卖app自己用吗
当今社会,外卖已经成为了餐饮行业的重要组成部分。外卖APP让顾客可以在家中点餐,同时让商家也有了更多的销售渠道。一些零售商、快递公司和大型企业也开始进军外卖行业。开发一款自己的外卖APP不仅可以提高销售额,还可以提升品牌知名度。在本篇文章中,我将介绍如何设
2023-05-30
工业自动化手机app开发报价
随着工业化程度的不断提升,越来越多的企业开始采用自动化生产设备,并逐步实现数字化、智能化、网络化等工业智能化发展方式,这就给工业自动化手机app开发带来了非常广阔的市场空间。本文将对该领域进行原理和详细介绍,并探讨其应用场景及开发报价。一、工业自动化手机a
2023-05-30
堆糖app怎么自己做手帐胶带
堆糖是一个可以分享图片、灵感、手帐等内容的社交平台,手帐胶带被很多人视为手帐装饰的必备装备。事实上,你可以自己做手帐胶带,在这篇文章中,我将详细介绍手帐胶带的制作原理,以及如何在堆糖上自己做手帐胶带。手帐胶带的制作原理:手帐胶带的制作原理很简单,就是利用透
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1