`

如何获取一个联系人下的多个号码

 
阅读更多
// 获得多个号码
	public ListAdapter getMoreContacts(String name) {

		contactIdCur = null;
		if (name == null || name.equals("") || name.length() == 0) {

			// query
			contactIdCur = getContentResolver()
					.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
							new String[] {
									ContactsContract.CommonDataKinds.Phone.CONTACT_ID,
									ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME },
							null, null, null, null);
		}// if
		else {
			// condition query
			contactIdCur = getContentResolver()
					.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
							new String[] {
									ContactsContract.CommonDataKinds.Phone.CONTACT_ID,
									ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME },
							Contacts.DISPLAY_NAME + " LIKE ? and "
									+ Contacts.HAS_PHONE_NUMBER + " = 1",
							new String[] { "%" + name + "%" },
							Contacts.DISPLAY_NAME, null);

		}

		contactsData = new ArrayList<Contract>();
		if (contactIdCur != null) {
			while (contactIdCur.moveToNext()) {

				contract = new Contract();
				// get data
				contract.setName(contactIdCur.getString(contactIdCur
						.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME)));
				long contactid = contactIdCur
						.getLong(contactIdCur
								.getColumnIndex(ContactsContract.CommonDataKinds.Phone.CONTACT_ID));

				// query numbers by ID
				Cursor numbers = getContentResolver().query(
						ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
						null,
						ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "="
								+ contactid, null, null);
				phones = new ArrayList<String>();
				while (numbers.moveToNext()) {
					// get data
					phones.add(numbers.getString(numbers
							.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)));
				}
				contract.setPhones(phones);
				contactsData.add(contract);
			}
		}
	
		contactIdCur.close();
		ContractAdapter contractAdp = new ContractAdapter(ContactActivity.this,
				R.layout.contacts_list_row, contactsData);

		return contractAdp;

	}

 

分享到:
评论

相关推荐

    Android通讯录联系人查询,自动提示,一个人多个号码

    此外,为了支持一个人拥有多个电话号码的情况,我们可以在列表中显示联系人的名字以及他们所有的电话号码。点击列表项后,可以选择特定的电话号码进行拨号或编辑。 总的来说,处理Android通讯录中的姓名重复问题和...

    获取手机通讯录源码(带多个联系人选择)

    以上就是实现“获取手机通讯录源码(带多个联系人选择)”的基本步骤。在实际项目中,可能还需要考虑性能优化,比如使用异步加载数据、分页加载、缓存等策略。同时,为了提供良好的用户体验,可以添加搜索功能、排序...

    添加联系人号码

    综上所述,"添加联系人号码"涉及了Android UI设计、Intent操作、联系人API的使用以及Activity生命周期管理等多个关键知识点。开发者需要熟练掌握这些技能,才能创建出高效且用户体验良好的应用程序。

    获取联系人信息进行查看

    本教程将详细讲解如何通过电话号码获取联系人的头像、姓名和电话等信息,这些功能通常涉及到Android的Content Provider机制。Content Provider是Android提供的一种数据共享方式,它允许应用程序之间共享和访问数据。...

    Android获取联系人列表Demo

    在这个"Android获取联系人列表Demo"中,我们将深入探讨如何实现这一功能。 首先,我们需要在AndroidManifest.xml文件中添加必要的权限,因为访问联系人数据是受保护的隐私操作。以下是要添加的权限: ```xml ``` ...

    android 获取手机联系人

    接着,创建一个用于获取联系人的类,例如`ContactManager`。在这个类中,你可以定义一个方法来请求联系人权限,并实现获取联系人的逻辑。以下是一个基本的示例: ```java public class ContactManager { public ...

    Android软件开发之获取通讯录联系人信息

    例如,要获取联系人的电子邮件地址,可以使用`ContactsContract.CommonDataKinds.Email`对应的URI和列名: ```java Cursor emailCursor = resolver.query( ContactsContract.CommonDataKinds.Email.CONTENT_URI, ...

    Android获取联系人

    在Android系统中,获取联系人信息是常见的功能需求,尤其对于社交类或通讯类应用来说,这是一项必不可少的功能。为了实现这一目标,开发者需要理解Android的权限管理、ContentResolver和ContactsContract类。以下是...

    获取手机联系人列表点击打电话

    遍历Cursor获取联系人信息,例如姓名和电话号码: ```java while (cursor.moveToNext()) { String name = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME)); ...

    获取联系人

    在Android系统中,获取联系人和通讯录是常见的功能需求,尤其对于开发涉及社交或通信类的应用至关重要。本文将深入探讨如何在Android中获取联系人数据,并基于`ContactsContentProvider`进行详细讲解。 首先,...

    获取手机邮件联系人

    获取联系人数据需要请求READ_CONTACTS权限。在运行时检查权限状态,如果未授予,则提示用户授权。 5. **性能优化**: - 为了提高性能,可以使用LoaderManager和Loader接口来异步加载联系人数据,避免阻塞UI线程。 ...

    获取联系人姓名和电话

    在Android开发中,获取联系人姓名和电话是一项常见的任务,主要涉及到权限申请、ContentResolver、ContentProvider等核心组件。下面将详细讲解这个过程及其相关的知识点。 首先,Android系统中的联系人数据是通过...

    Contacts获取系统联系人

    在Android系统中,获取联系人信息是常见的功能之一,它涉及到Android权限管理、Content Provider、意图(Intent)以及UI设计等多个方面。以下是对"Contacts获取系统联系人"这一主题的详细阐述。 首先,为了访问用户的...

    安卓通讯录联系人打电话归属地相关-获取手机号码.zip

    在Android中,通讯录信息存储在ContentProvider中,开发者可以通过ContentResolver查询ContactsContract类提供的表来获取联系人信息。 通讯录联系人的数据包括姓名、电话号码、电子邮件地址等。获取这些信息需要...

    联系人信息获取添加

    一、获取联系人信息 在Android中,有两种主要的方式来获取设备上的联系人信息: 1. 使用ContentResolver和ContactsContract类: Android提供了一个名为ContentResolver的接口,用于与ContentProvider进行交互,而...

    Android Studio 获取手机联系人项目main文件

    例如,获取联系人的姓名和电话号码: ```java while (cursor.moveToNext()) { String displayName = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME)); String ...

    android合并重复联系人功能

    总的来说,"android合并重复联系人功能"是Android开发中的一个重要领域,它涉及到数据处理、算法设计、数据库操作以及用户交互等多个方面,通过这一功能的实现,我们可以显著提升Android设备的联系人管理效率。

    android获取单个通讯录联系人信息并分享内容(短信邀请)

    接下来,我们需要了解如何使用`ContactsContract`类来获取联系人信息。`ContactsContract`是Android提供的一个ContentProvider接口,用于访问系统联系人数据库。以下是获取单个联系人信息的基本步骤: 1. 创建...

    android多个联系人保存到通讯录

    查询结果会返回一个`Cursor`对象,可以遍历其每一行获取联系人信息。 5. **创建新联系人**: 要保存新联系人,首先创建一个`ContentValues`对象,然后填充如姓名、电话号码等字段。使用`ContentResolver`的`insert...

    获取联系人信息

    在Android系统中,获取联系人信息是常见的功能之一,它涉及到Android系统的Content Provider机制,用于在应用程序之间共享数据。在本教程中,我们将深入探讨如何按照字母顺序获取手机中的联系人信息,就像手机通讯录...

Global site tag (gtag.js) - Google Analytics