package com.example.sharingcontact;
import android.content.ContentResolver;
import android.database.Cursor;
import android.provider.ContactsContract;
import android.provider.ContactsContract.PhoneLookup;
import android.provider.ContactsContract.CommonDataKinds.Phone;
public class Import {
/*
private void getPhoneContacts() {
ContentResolver cr = getContentResolver();
//取得电话本中开始一项的光标
Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
while (cursor.moveToNext())
{
// 取得联系人名字
int nameFieldColumnIndex = cursor.getColumnIndex(PhoneLookup.DISPLAY_NAME);
String name = cursor.getString(nameFieldColumnIndex);
// string += (name);
// 取得联系人ID
String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
Cursor phone = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = "
+ contactId, null, null);
// 取得电话号码(可能存在多个号码)
while (phone.moveToNext())
{
String strPhoneNumber = phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
// string += (":" + strPhoneNumber);
System.out.println("$$$获得联系人名字: " + name);
System.out.println("$$$获得联系人电话: " + strPhoneNumber);
System.out.println("=========================================");
//先判断是否存在此人
System.out.println("name--->"+name);
if(!db.Query(name)) {
db.Insert(name, strPhoneNumber, null, null, null,null) ;
System.out.println("============可以导入--------------");
} else {
// db.Insert(name, strPhoneNumber, null, null, null) ;
System.out.println("==========已经存在此人-------------");
}
}
// string += "\n";
phone.close();
}
cursor.close();
}
*/
}
4
最新推荐文章于 2025-08-16 15:48:23 发布
本文介绍了一种在Android应用中实现从手机通讯录导入联系人信息的方法。通过使用ContentResolver查询ContactsContract来获取联系人的姓名和电话号码,并对获取到的数据进行处理,确保不会重复导入已存在的联系人。
AI 时代程序员必备技能
Codex、Claude Code、Cursor、Hermes Agent、OpenClaw等工程化实战专栏 ,讲透 AI 如何接管脏活累活
AI 时代程序员必备技能
Codex、Claude Code、Cursor、Hermes Agent、OpenClaw等工程化实战专栏 ,讲透 AI 如何接管脏活累活
1万+

被折叠的 条评论
为什么被折叠?



