下面是论坛上有人写的关于获取Contact Number的code,非常详细,供参考。
String[] projection = new String[] {
People._ID,
People.NAME,
People.NUMBER,
};
// Get the base URI for People table in Contacts content provider.
// which is: content://contacts/people/
Uri contactUri = People.CONTENT_URI;
// Best way to retrieve a query; returns a managed query.
Cursor peopleCursor = managedQuery (contactUri,
projection, //Which columns to return.
null, // WHERE clause--we won't specify.
null, // Selection Args??
People.DEFAULT_SORT_ORDER); // Order-by name
// go to the beginning of the list
peopleCursor.moveToFirst();
// So, here we have a contact. We need to get the contact ID (_id) then
// build the Uri to get the phones section of that user's record
// which is a subdirectory of a contact record
long personId = peopleCursor.getLong(peopleCursor.getColumnIndex("_id"));
Uri personUri = ContentUris.withAppendedId(contactUri, personId );
// So now the URL looks like: content://contacts/people/_id(where the actual id of the record is here)
Uri phoneUri=
Uri.withAppendedPath(personUri, Contacts.People.Phones.CONTENT_DIRECTORY);
// Now the URL looks like: content://contacts/people/_id/phones (where phones is literally "phones")
// Now get all the phone numbers for this contact
Cursor phonesCursor = managedQuery(phoneUri,
null,
null,
null,
Phones.DEFAULT_SORT_ORDER);
// We now have a cursor for all the phone numbers for that User ID
// go to the beginning of the phone list.
phonesCursor.moveToFirst();
分享到:
相关推荐
在Android平台上,获取通讯录是常见的功能之一,用于实现联系人管理、社交应用等功能。这份"Android 获取通讯录程序源码.zip"包含了实现这一功能的完整源代码,可以帮助开发者深入理解如何在Android系统中访问和操作...
在这个例子中,`Contact` 是一个自定义的Java类,用来存储姓名和电话号码。`getContacts()` 方法通过查询 `ContactsContract.CommonDataKinds.Phone.CONTENT_URI` 来获取所有联系人,并遍历结果,获取每个联系人的...
在Android开发中,ListView是一种非常常见的控件,用于展示大量数据列表。本示例将深入讲解如何实现一个仿通讯录的ListView,其中包含了头文字提示弹窗的功能。这个功能常见于许多应用中,如手机内置的通讯录应用,...
这个"Android实例之读取设备联系人"的项目就是一个演示如何在Delphi环境下实现这一功能的例子。下面将详细介绍如何在Android应用中读取设备的联系人信息。 首先,Android系统将联系人数据存储在一个SQLite数据库中...
Log.d("Contact", "Name: " + name + ", Number: " + number); } while (cursor.moveToNext()); } ``` 最后,别忘了关闭Cursor以释放资源: ```java if (cursor != null) { cursor.close(); } ``` 在实际项目...
在这个例子中,我们通过`getContentResolver()`方法获取了`ContentResolver`实例。 ##### 2.2 ContactsContract `ContactsContract`是一个包含各种静态内部类的类,用于访问联系人信息。其中`ContactsContract....
在Android系统中,获取手机联系人信息是常见的需求,尤其对于开发涉及通讯功能的应用来说更是必不可少。本示例("Android 读取手机联系人")通过内容提供器(Content Provider)这一核心组件来实现这一功能。内容...
Log.d("Contact", "Name: " + displayName + ", Phone Number: " + phoneNumber); } while (cursor.moveToNext()); } // 记得关闭Cursor if (cursor != null) { cursor.close(); } ``` 在这个例子中,我们首先...
在这个例子中,我们查询了所有电话号码,获取了每个联系人的显示名称和电话号码。`CONTENT_URI`是ContactsContract类中的常量,代表所有联系人的内容提供者。`query()`方法用于执行SQL-like查询,参数分别是URI、...
这个例子展示了Android开发的基础,包括使用ContentResolver访问系统服务、处理Cursor数据以及使用Adapter绑定数据到UI。通过学习和理解这个项目,你将能够进一步探索更复杂的Android应用开发,比如添加交互、网络...
numberEditText = findViewById(R.id.contact_number_edit_text); Button saveButton = findViewById(R.id.save_contact_button); saveButton.setOnClickListener(new View.OnClickListener() { @Override ...
在这个例子中,URI为`"content://com.android.contacts/raw_contacts"`,表示获取所有原始联系人记录。 3. 在`query()`方法返回的Cursor中遍历每一项,获取联系人的ID、名称等基本信息。 4. 对于每个联系人,再次...
在Android开发中,将数据从TXT文件导入到手机通讯录是一项常见的任务,这对于数据迁移、备份或应用集成非常有用。...通过这个例子,开发者可以进一步深入理解Android系统的文件系统和内容提供者机制。
在JavaScript中,可以直接通过`window.contact.call(phoneNumber)`或`window.contact.showcontacts()`来调用这些方法。 以下是一个完整的示例: ```java public class MainActivity extends Activity { private ...
例如,对于旧版本的Android,你可能需要使用ContactsContract.Data._ID来代替ContactsContract.Data.RAW_CONTACT_ID。 最后,记得在Eclipse中运行你的应用程序,并在模拟器或真实设备上测试页面跳转和添加联系人的...
这个"获取通讯录程序"的源码提供了一个实际的例子,让我们深入理解如何在Android中操作联系人数据。 首先,Android系统提供了Contacts Provider API,它是Android框架的一部分,允许应用程序读取和写入用户设备上的...
在Android平台上,读取联系人是一项常见的功能,它允许应用程序获取设备中存储的联系人信息,包括手机存储和SIM卡中的联系人。本教程将详细解释如何实现这一功能,并涉及多线程技术以确保操作流畅。 首先,我们需要...
`A-searchable-Contact-List-app-in-Android.pdf`文件可能包含更详细的步骤说明和解释,建议结合这个文档一起学习。 总的来说,创建一个可搜索的联系人列表应用涉及到Android的ContentProvider、ContentResolver、...