要在Android设备上获取联系人,您可以按照以下步骤进行操作:
-
添加权限:添加以下权限到AndroidManifest.xml文件中:
<uses-permission android:name="android.permission.READ_CONTACTS"/>
-
创建联系人查询:使用ContentResolver对象查询联系人数据。
ContentResolver resolver = getContentResolver(); Cursor cursor = resolver.query( ContactsContract.Contacts.CONTENT_URI, null, null, null, null );
-
遍历联系人数据:使用while循环遍历查询结果。
while (cursor.moveToNext()) { // 获取联系人ID和名称 String contactID = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID)); String contactName = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)); // 查询联系人电话号码 Cursor phoneCursor = resolver.query( ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + contactID, null, null ); // 遍历电话号码 while (phoneCursor.moveToNext()) { String phoneNumber = phoneCursor.getString(phoneCursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); // 使用获取到的联系人信息进行处理 } phoneCursor.close(); } cursor.close();
请注意,以上代码只是提供了获取联系人的基本方法,您可以根据自己的需求进行进一步的处理和过滤。
同时,确保您已经在设备上授予了通讯录访问权限。
要在Android上获取联系人,你可以使用以下步骤:
-
在AndroidManifest.xml文件中添加以下权限:
<uses-permission android:name="android.permission.READ_CONTACTS" />
-
在你的Activity或Fragment中,使用以下代码获取联系人:
// 1. 创建一个Cursor对象 Cursor cursor = getContentResolver().query( ContactsContract.Contacts.CONTENT_URI, // 联系人URI null, // 返回所有列 null, // 无筛选条件 null, // 无排序条件 null // 默认排序 ); // 2. 检查是否有联系人 if (cursor != null && cursor.getCount() > 0) { // 3. 遍历联系人 while (cursor.moveToNext()) { // 4. 获取联系人ID和名称 String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID)); String contactName = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)); // 5. 根据联系人ID查询电话号码 Cursor phoneCursor = getContentResolver().query( ContactsContract.CommonDataKinds.Phone.CONTENT_URI, // 电话号码URI null, // 返回所有列 ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = ?", // 筛选条件 new String[]{contactId}, // 筛选值 null // 默认排序 ); // 6. 检查是否有电话号码 if (phoneCursor != null && phoneCursor.moveToFirst()) { // 7. 获取电话号码 String phoneNumber = phoneCursor.getString(phoneCursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); // 8. 在此处使用联系人ID、名称和电话号码进行相关操作 Log.d("Contact", "ID: " + contactId + ", Name: " + contactName + ", Phone: " + phoneNumber); } // 9. 关闭电话号码Cursor if (phoneCursor != null) { phoneCursor.close(); } } } // 10. 关闭联系人Cursor if (cursor != null) { cursor.close(); }
以上代码将遍历所有联系人,并打印出联系人的ID、名称和电话号码。你可以根据自己的需求进行相应的操作。
发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/117431.html