Android获取联系人信息
获取联系人信息在 Android 开发中挺常见的任务,你会经常需要访问用户的通讯录数据。其实,Android 的联系人数据就存储在 SQLite 数据库里,通过 ContentProvider 来访问它。最常用的类是ContactsContract,它了许多常量和方法来联系人数据。
,记得在你的AndroidManifest.xml
文件里添加读取联系人权限哦,像这样:
,使用ContentResolver
发起查询,拿到联系人数据。举个例子:
ContentResolver resolver = getContentResolver();
Uri contactsUri = ContactsContract.Contacts.CONTENT_URI;
Cursor cursor = resolver.query(contactsUri, null, null, null, null);
查询结果会存储在Cursor
对象里,遍历它可以获取每个联系人的信息,包括联系人名字、电话等。记得遍历时要小心哦,像这样:
if (cursor != null && cursor.moveToFirst()) {
do {
String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
String name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
//获取电话号码
} while (cursor.moveToNext());
}
你也可以通过ContactsContract.CommonDataKinds.Phone
获取电话信息,记得使用完Cursor
后要及时关闭它哦。
,获取联系人信息其实并不复杂,记得注意权限、兼容性问题,尤其是当你的 App 需要运行在不同版本的 Android 系统上时,最好加个版本判断。
如果你想进一步了解,像联系人分组、额外的信息(比如电子邮件)也可以通过ContactsContract.Groups
和ContactsContract.Data
获取。
128.6KB
文件大小:
评论区