自己制作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自己用需要多少钱
如果你想要为自己的业务或想法制作一个应用程序,你可能会想知道制作这样一个应用所需要的开销是多少。在这篇文章中,我们将详细介绍制作一个应用的成本、工作流程以及有关技术和设计的知识。首先,需要注意的是,开发应用主要有两个方面:技术和设计。技术包括编程、测试、服
2023-06-05
自己做的app手机可以运行吗
在开发自己的App之前,很多人都会问一个问题:自己开发的App,能否在手机上运行?答案是肯定的,如果你开发的App符合手机操作系统的要求,你完全可以将其部署到你的手机上运行。下面我们就来详细探讨一下这个问题。首先,要让自己做的App可以在手机上运行,需要遵
2023-06-05
自己做的app不能横屏
如果你创建的应用程序没有横屏模式,可能是由于以下原因:1. 未设置横屏模式在开发应用程序时,需要在文件 AndroidManifest.xml 中设置应用程序的屏幕方向。如果没有设置横屏模式,那么应用程序只能使用竖屏模式。要设置横屏模式,需要在 Andro
2023-06-05
自己做一个资料归类app
资料归类app主要是为用户提供分类和管理个人资料的工具,它可以帮助用户更好地在大量的文件和图像中搜索并定位特定的内容。在本文中,我们将介绍自己设计一个资料归类app的原理和详细过程。原理首先,一个资料归类app需要具备良好的搜索和分类功能。它需要能够自动将
2023-06-05
自家做饭的app
随着移动互联网技术的普及和人们对健康饮食的需求不断提高,一些自家做饭的app应运而生。这些app通常具有搜索、菜谱定制、材料采购、做菜步骤跟随和分享等功能,旨在方便用户在家进行健康、美味的饮食。下面简单介绍自家做饭的app的原理和功能。一、搜索自家做饭的a
2023-06-05
自己可以做记号的笔记app
现今,随着移动设备的不断普及和越来越多的人选择学习新知识,笔记的需求也越来越大。而随着笔记本纸质化已经难以满足快节奏、即时笔记和记录需要,越来越多的人选择使用笔记App来记录自己的笔记和想法。因此自己可以做记号的笔记App,成为一个热门和有吸引力的开发选择
2023-06-05
郑爽自己做app
郑爽是一位备受瞩目的演员,不仅凭借自己的出众演技赢得了广泛的认可,还在互联网领域展开了自己的创新之路。近年来,她开始涉足移动应用开发领域,甚至自己动手做起了一款app。那么,郑爽是如何实现自己的app梦想的呢?首先,我们需要了解到,app开发需要具备哪些技
2023-06-05
微信做一个自己的app
微信做一个自己的APP的原理其实很简单,主要分为以下几个步骤:第一步,确定APP的需求和功能在进行APP开发之前,我们需要先确定该APP的需求和功能。这需要我们对市场进行充分的调研和了解,确定目标用户和功能需求,从而确定APP的整体框架和设计思路。第二步,
2023-05-31
网红自建app
随着互联网的飞速发展和智能手机用户的普及程度,自建app已经成为越来越多网红的选择。这不仅可以增强网红的影响力,同时也可以为网红创造出更多的商业机会和变现渠道。下面将详细介绍网红自建app的原理和具体实现方法。一、原理网红自建app的原理就是利用一些现有的
2023-05-31
快捷指令自己制作app却搜不到
快捷指令是一种 iOS 设备用户可以用来自定义应用程序和系统操作的工具。使用快捷指令,你可以将几个独立步骤组合在一起,并通过单个按钮来执行这些操作,让你的 iPhone 和 iPad 更加智能、更加便捷。不过,有时候制作完自己的快捷指令后,却发现搜索不到这
2023-05-30
好省app怎么自己做导师
好省APP是一款非常受欢迎的社交电商应用,可以通过分享商品链接和邀请好友进入平台来赚取佣金。而自己成为一名导师,则可以通过招募下级成员来获得更多的收益,这是很多好省APP用户发展自己的团队的重要方式。那么,如何自己成为一名好省APP导师呢?下面将详细介绍原
2023-05-30
14岁女生自己开发app
随着移动互联网的飞速发展,APP已成为人们日常生活中必不可少的工具。而开发一款APP也不再是技术人员的专属领域,14岁的女生也可以开发属于自己的APP。首先,女生需要掌握编程语言。常见的编程语言有Java、Python、Swift等。其中,在iOS系统上开
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1