自己制作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小程序吗安全吗
随着移动互联网的快速发展,越来越多的人开始意识到开发自己的移动应用程序或小程序是很有前途和利润的。相对于传统的软件开发,移动应用程序或小程序的开发门槛更低,开发流程更加简单,开发周期更短,因此越来越受到人们的青睐。但是,对于非专业人士,开发自己的应用程序或
2023-06-05
自己制作英语单词并背诵的app
自己制作英语单词并背诵的App是一种可以帮助用户更有效地学习英语的应用程序。该应用程序可以帮助用户创建自己的单词列表,并通过各种方法帮助用户记忆这些单词。下面是一些可以使用的原理或详细介绍。1. 单词列表在应用程序中创建单词列表是一个不可或缺的步骤。用户可
2023-06-05
自己制作墓碑app
自己制作墓碑app需要以下步骤:确定功能模块、设计UI界面、后台开发、测试调试、上线发布等。下面将进行详细介绍:1. 确定功能模块墓碑app需要提供哪些功能模块,要根据用户需求和市场对比来确定。比如:墓地查询服务、纪念馆介绍、纪念品销售、陵园导航、祭扫纪念
2023-06-05
自动精灵的脚本制作app
自动精灵是一款运行在iOS系统上的自动化脚本制作app,其原理基于“UI自动化测试”技术。它可以模拟用户对手机屏幕的操作,例如点击、滑动、输入、截图等等,从而实现自动化执行指定的脚本。自动精灵的脚本制作分为录制和编写两种方式。录制方式:用户可以通过自动精灵
2023-06-05
中国自建app
近年来,随着移动互联网的蓬勃发展,APP(Application)成为人们使用手机的主要方式之一。在中国,很多企业和个人都开始自建APP,为用户提供更好的服务。接下来,本文将详细介绍中国自建APP的原理及其实现方式。一、自建APP的原理自建APP可以理解为
2023-06-05
怎么自己在网上做手机壳app
要自己在网上做手机壳的App,需要掌握一些基本的知识和技能,这包括技术层面和设计层面。技术方面,开发一个手机壳App需要掌握以下技术:1.编程语言:常用的编程语言有Java、Swift等,这些语言都可以用来开发App。2.开发环境:需要安装Android
2023-06-05
如何借助别人的app开发自己
随着移动互联网的快速发展,App已经成为了越来越多人生活和工作中必需的工具。但是,对于很多人来说,并不具备开发一款App的技能和能力。所以,借助别人的App来发掘商机和创造自身价值成了一个不错的选择。在这篇文章中,我们将详细介绍如何借助别人的App开发自己
2023-05-30
美团的app自己开发的吗
美团的App是由美团点评公司自主开发的,是一款互联网综合性服务类应用程序,包含了美食、外卖、酒店住宿、票务、休闲娱乐等多种服务。它的开发主要分为以下几个方面:1.需求分析及产品设计在开发之初,美团点评公司会针对用户需求和市场状况进行全面分析和调研,挖掘用户
2023-05-30
app自己开发远程查看功能
远程查看功能是指用户可以通过与设备或系统的远程连接来查看和监控设备或系统的状态和操作。在移动应用程序中,这种功能可以使用户随时随地监控自己的设备或系统,帮助用户及时反应和解决问题。远程查看功能的实现原理主要涉及到几个方面:数据传输、远程控制和数据安全。首先
2023-05-30
android自建app运行报错
在 Android 开发过程中,自建 app 在运行期间可能会出现各种错误,如闪退、卡顿、无响应等等。这些错误的原因可能有很多种,涉及到 Android 系统本身、开发者的代码、第三方库或插件等多个方面。下面我们将从原理和实际运用两个角度来介绍常见的 An
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1