自己制作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只做百度贴吧这一平台,目的是为了将资源集中起来,形成更加专注、高效的精
2023-06-05
自学开发的社交app
开发社交app并不是一项简单的任务,需要掌握很多技能和知识。如果你是一位自学开发的人,下面就为你详细介绍社交app的开发原理。一、需求分析在开始开发之前,需要进行需求分析。先明确你的 app 究竟要提供什么样的功能,设计用户画像、场景和用户需求。这些应该是
2023-06-05
自己做app到微信怎么做
自己做一个APP并将其嵌入到微信中是一项炙手可热的技能,尤其是在当今以智能手机为主导的社会,因为大多数用户几乎都使用社交媒体平台来使用不同的应用程序。下面将为大家介绍一下如何将自己的APP嵌入到微信中。首先要明确的是,微信提供了自己的开放平台,允许开发者将
2023-06-05
自定义歌词制作app
自定义歌词制作APP是一款基于移动端的应用程序,为用户提供歌词的自定义创作功能。该APP可以让用户自己创作歌词,编辑歌词内容、格式和排版,以及选择背景图片和音乐等元素,最终生成一份自己定制的个性化歌词。自定义歌词制作APP的原理主要包括以下几个方面:1.
2023-06-05
智能还款app自己开发和代理区别
智能还款app是一种应用软件,它可以帮助用户规划自己的还款计划,并自动执行还款。这种应用软件逐渐成为了金融科技领域的一个重要补充,因为它为用户提供了方便快捷的服务。类似的应用软件有很多,包括自己开发的还款app和代理的还款app。下面我们就来详细介绍一下这
2023-06-05
学习app不用自己做后端了
随着移动互联网时代的到来,移动端APP已经成为了人们日常生活中不可或缺的一部分。然而,对于很多开发者来说,搭建一个完整的APP其实需要涉及到多个环节:前端页面的设计、后端数据的处理、数据存储与传输等等。尤其在后端实现的环节上,需要开发者具备一定的服务器和数
2023-06-05
想自学安卓平台app开发
安卓平台app开发是指基于安卓系统的应用程序开发。安卓系统是一种开源免费的移动设备操作系统,目前已经成为全球最流行的移动操作系统之一。随着智能手机的普及,安卓平台应用的需求也越来越高,因此学习安卓平台app开发对于想要从事移动开发行业的人来说是非常必要的。
2023-05-31
手机自己制作的app如何连接设备
移动应用已经成为了现代生活中不可或缺的一部分。随着移动设备的普及,自己制作手机app的需求也越来越高。在制作一个app时,常常需要将手机和其他设备进行连接以便于数据的交互。本文将会详细介绍移动设备如何连接其他设备的原理和方法。移动设备连接其他设备的方式移动
2023-05-31
苹果自家开发的app有什么
苹果公司是一家拥有庞大用户群的科技公司,它生产的iphone、ipad等设备上运行着自家开发的操作系统——iOS。除了操作系统之外,苹果公司还自主开发了许多app以给用户提供更好的使用体验和各种功能。接下来,我将介绍苹果公司自主开发的一些app及其功能原理
2023-05-30
如何制作自己的app软件
制作自己的APP软件可以说是现代社会的一个趋势。因为很多人都希望能够自己开发出一款独特的APP应用,来赚取一定的经济利益。但是对于初学者来说,制作APP软件的过程可能会显得极其困难,因为很多基本的操作都需要掌握才能够开展工作。下面我们就来详细介绍一下制作自
2023-05-30
快赞app自动脚本制作教程
快赞是一款社交软件,可以通过点赞、评论等方式来拉近与朋友之间的距离,同时还能够帮助用户提高自己在社交媒体上的曝光度,增加受到注意的机会。但是,由于其点赞、评论等操作需要耗费时间和精力,很多用户希望能够通过自动脚本来实现自动化操作,于是,很多技术人员开始研究
2023-05-30
都匀工业自动化手机app开发公司
都匀工业自动化手机app开发公司是一家专业从事工业自动化领域手机应用开发的公司。该公司致力于利用移动互联网技术,提高工业生产效率,降低生产成本,为客户提供可靠、高效的自动化控制解决方案。该公司的开发团队拥有丰富的行业经验和技术能力,能够针对客户的需求量身定
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1