自己制作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
随着移动互联网的发展,越来越多的企业需要在外出办公或外访时使用移动智能设备来收集信息和管理业务。定制一款外访app是更方便、高效的解决方案。外访app的基本功能包括:1. 收集信息:根据用户需求,可以设置多种信息收集方式,如文本、图片、语音等。2. 数据上
2023-06-05
自己做一个制冷剂计算的app
制冷剂是一种特殊的介质,它用于制作各种冷却设备,如冰箱、空调、冷库等。制冷剂在这些设备中起到非常重要的作用,它通过循环往复地进行加热和冷却,从而实现对空气或水的冷却效果。为了设计一款优秀的冷却设备,需要对制冷剂的性质和使用要求有一定的了解,并能够进行有效的
2023-06-05
自己能制作商品app吗
制作商品app,需要先学习相关技术知识,例如移动应用开发技术,前端开发技术,后端开发技术等等。以下是一些具体的步骤和技术:1. 确定商品app的功能需求在制作一个商品app之前,首先需要明确这个app要实现什么功能。比如,是用于展示商品信息,还是支持用户购
2023-06-05
自己开发的手机app提示风险
在如今这个智能手机风靡的时代,开发一款自己的手机app已经成为一些互联网从业者或创业者热衷的事情。但是,开发手机app也伴随着一定的风险。在本文中,我将详细介绍开发手机app时的风险,并提供一些解决方案。一、法律风险开发手机app时,需要关注到法律风险。这
2023-06-05
自己开发捕鱼app违法吗
在开发捕鱼游戏这一领域,可能会面临一些法律问题。那么,自己开发捕鱼App是否违法呢?本文将会从原理和详细介绍两个方面来探讨这个问题。一、开发捕鱼App的原理捕鱼游戏的原理非常简单,就是玩家通过点击屏幕来发射鱼钩,捕捉海洋中的各种鱼类,然后将获得的金币或者奖
2023-06-05
自己制作最简单换装app
制作一个简单的换装app,可以让用户上传自己的照片,然后将不同的服装、饰品、发型等加入照片中,达到试穿的效果。这个app的制作原理和实现方法,可以分为以下几个步骤:1. 前端界面设计首先,需要设计一个简洁美观的前端界面,包括登录界面、上传照片界面、选择要添
2023-06-05
怎麽制作自己的外卖app
制作一款外卖APP需要以下步骤:1. 确定功能需求首先要确定APP所要实现的功能需求,比如用户注册登录、浏览菜单、下单、付款和评价等等。同时,要考虑好APP的用户界面和用户交互流程,使得APP的操作流畅易用。2. 确定开发语言和开发框架根据所需功能,选择合
2023-06-05
鹤壁淘宝客app自己制作商品
鹤壁淘宝客app是一款综合性的淘宝客应用程序,用户可以在这个应用程序中购买淘宝上的商品,并且通过分享购买链接赚取相应的佣金。除此之外,鹤壁淘宝客app还提供自己制作商品的功能,这里我们来详细介绍一下这个功能的原理和步骤。自己制作商品的原理:鹤壁淘宝客app
2023-05-30
代刷网app自助制作平台
代刷网app自助制作平台是一种在线业务平台,可以帮助用户自助设计、制作并运营自己的代刷网站。这种平台涵盖了从网站设计、功能选择到数据管理等各个方面。在这个平台上,用户可以采用自定义的方式完成网站的建设,同时获取想要的推广和盈利方式,以此最小化代刷网站制作的
2023-05-30
把网站做成app自适应
众所周知,移动设备已经成为人们日常生活中必不可少的一部分,除了手机以外,平板和笔记本电脑也在越来越多的人手中出现。因此,在开发网站时,为了满足移动设备用户的需求,我们需要让网站自适应于不同类型和尺寸的设备。让网站自适应于移动设备,最主要的方法是通过响应式布
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1