`

如何调用android通讯录?

 
阅读更多

public void inport(View view) {

Intent intentContact = new Intent(Intent.ACTION_PICK,

ContactsContract.Contacts.CONTENT_URI);

startActivityForResult(intentContact, PICK_CONTACT);

}

 

@Override

public void onActivityResult(int requestCode, int resultCode, Intent intent) {

 

if (requestCode == PICK_CONTACT) {

getContactInfo(intent);

 

}

}

 

protected void getContactInfo(Intent intent) {

 

Cursor cursor = managedQuery(intent.getData(), null, null, null, null);

while (cursor.moveToNext()) {

String contactId = cursor.getString(cursor

.getColumnIndex(ContactsContract.Contacts._ID));

String name = cursor

.getString(cursor

.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));

 

String hasPhone = cursor

.getString(cursor

.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));

 

if (hasPhone.equalsIgnoreCase("1"))

hasPhone = "true";

else

hasPhone = "false";

 

String phoneNumber = null;

 

if (Boolean.parseBoolean(hasPhone)) {

Cursor phones = getContentResolver().query(

ContactsContract.CommonDataKinds.Phone.CONTENT_URI,

null,

ContactsContract.CommonDataKinds.Phone.CONTACT_ID

+ " = " + contactId, null, null);

while (phones.moveToNext()) {

phoneNumber = phones

.getString(phones

.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));

}

phones.close();

}

 

Cursor emails = getContentResolver().query(

ContactsContract.CommonDataKinds.Email.CONTENT_URI,

null,

ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = "

+ contactId, null, null);

String emailAddress = null;

while (emails.moveToNext()) {

emailAddress = emails

.getString(emails

.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));

}

emails.close();

 

Cursor address = getContentResolver()

.query(ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_URI,

null,

ContactsContract.CommonDataKinds.StructuredPostal.CONTACT_ID

+ " = " + contactId, null, null);

while (address.moveToNext()) {

 

String poBox = address

.getString(address

.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.POBOX));

String street = address

.getString(address

.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.STREET));

String city = address

.getString(address

.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.CITY));

String state = address

.getString(address

.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.REGION));

String postalCode = address

.getString(address

.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.POSTCODE));

String country = address

.getString(address

.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.COUNTRY));

String type = address

.getString(address

.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.TYPE));

}

 

Log.e("联系人", name + ":" + phoneNumber + "     " + emailAddress);

}

cursor.close();

}

分享到:
评论

相关推荐

    android通讯录(完整,可运行)

    《Android通讯录系统详解——基于adt-bundle-windows的实现》 在移动设备上,通讯录是用户日常使用的重要功能之一。Android系统以其开放性和灵活性,为开发者提供了丰富的API,使得开发自定义通讯录应用成为可能。...

    Android调用系统通讯录,选择联系人,拨打电话

    **一、Android调用系统通讯录** Android提供了Intent机制来启动系统内置的应用或服务。调用系统通讯录主要通过创建一个Intent,指定ACTION_PICK或ACTION_GET_CONTACTS的动作。例如: ```java Intent intent = new ...

    Android通讯录详细demo

    本教程将深入探讨如何在Android应用中实现对通讯录的获取、添加、删除等操作,通过提供的"Android通讯录详细demo",你可以更好地理解这些概念。 首先,让我们了解Android系统中的通讯录API。Android提供了一个名为`...

    android调用通讯录获取联系人Demo

    在Android平台上,调用通讯录获取联系人是常见的功能,尤其在社交应用或者需要权限管理的应用中尤为关键。本Demo "android调用通讯录获取联系人Demo" 提供了一个实例,帮助开发者理解如何实现这一功能,允许用户自由...

    Android studio—读取通讯录

    在Android平台上,开发人员经常需要访问用户的通讯录数据来实现特定功能,如联系人同步、消息发送等。本文将深入探讨如何使用Android Studio来读取手机的通讯录,这是一个非常实用且基础的知识点,适用于移动应用...

    基于Android Studio开发的安卓的通讯录系统

    总结,基于Android Studio开发的安卓通讯录系统涵盖了Android开发的多个关键知识点,包括UI设计、数据操作、系统服务的调用以及权限管理。通过实践这样的项目,开发者可以提升在Android平台上的综合开发能力。

    android通讯录

    本文将深入探讨如何使用SQLite数据库来创建一个简单的Android通讯录应用。 首先,我们要了解Android中的SQLite数据库。SQLite是一个轻量级的关系型数据库,它无需服务器进程,可以直接嵌入到应用程序中。在Android...

    android通讯录短信聊天

    本文将围绕“android通讯录短信聊天”这一主题,详细讲解如何实现这样的应用。 首先,我们需要了解Android的联系人API。在Android系统中,联系人数据存储在ContentProvider中,我们可以使用ContentResolver来查询、...

    Android 通讯录 ListView SQLite 相册

    在Android开发中,构建一个功能完善的通讯录应用是常见的任务之一。这个应用通常涉及到ListView的使用,SQLite数据库的管理以及相册集成。以下是对这些关键知识点的详细解释: 1. **Android 通讯录**:Android系统...

    Android 自定义通讯录(仿Ios反弹效果+模糊搜索+查看手机通讯录+拉伸导航条) 效果图如下:

    Android 自定义通讯录(仿Ios反弹效果+模糊搜索+查看手机通讯录+拉伸导航条) 效果图如下:JContact Android 自定义通讯录(仿Ios反弹效果+模糊搜索+查看手机通讯录+拉伸导航条) 效果图如下: image image image ...

    Android获取手机通讯录信息demo

    在Android平台上,获取手机通讯录信息是常见的功能需求,尤其对于开发社交类或者管理类应用来说,这是一项基本操作。本`Android获取手机通讯录信息demo`提供了简单易用的方法来实现这一功能。下面我们将详细探讨相关...

    Android 手机通讯录实现源码

    在Android平台上,构建一个功能完善的手机通讯录是一个常见的任务,涉及到很多关键的编程技术和API的使用。本项目名为"Android手机通讯录实现源码",提供了实现这一功能的完整源代码,可以帮助开发者深入理解Android...

    Android 简单通讯录 Sqlite

    在Android开发中,SQLite是一个非常重要的组成部分,尤其在构建如通讯录这样的数据密集型应用时。SQLite是一个开源、轻量级、嵌入式的关系型数据库,它不需要单独的服务进程,可以直接在应用程序中进行操作,因此在...

    Android获取手机通讯录、sim卡联系人及调用拨号界面方法

    在Android平台上,获取手机通讯录和SIM卡联系人,以及调用拨号界面是常见的功能需求,这通常涉及到用户信息的读取和系统的交互。以下将详细解释如何实现这些功能。 首先,要获取手机通讯录的联系人信息,我们需要...

    Android通讯录

    Android通讯录系统是一个基于SQLite数据库的系统,与其他Android服务紧密集成,如Google账户同步、来电显示和短信服务。下面将详细讨论Android通讯录的相关知识点。 一、Android通讯录数据存储 1. SQLite数据库:...

    android 通讯录源码

    本源码项目提供了一个全面的Android通讯录实现,旨在帮助开发者深入理解Android开发中与通讯录相关的技术。下面将详细阐述这个源码中的关键知识点。 1. **SQLite数据库**:Android系统使用SQLite作为本地数据库来...

    Android简易通讯录源码

    【Android简易通讯录源码】是一个面向初学者和开发者的学习资源,它提供了实现基础通讯录功能的完整代码,包括添加联系人、删除联系人、编辑联系人信息以及搜索和查看联系人等操作。同时,该源码还包含了修改联系人...

    android 通讯录查询,修改,删除,增加

    总的来说,操作Android通讯录需要理解ContentProvider的工作原理,掌握ContentResolver的常用方法,以及如何与UI组件(如ListView)协同工作。通过`contactsdemo`这样的示例项目,开发者可以深入学习这些概念,并将...

    android获取手机通讯录所有字段

    ### Android 获取手机通讯录所有字段知识点详解 #### 一、知识点概述 在Android开发中,有时需要读取用户的通讯录信息来实现特定的功能,比如社交应用中的好友添加、联系人同步等功能。本知识点将详细介绍如何在...

Global site tag (gtag.js) - Google Analytics