s0nerik/fast_contacts · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈
fast_contacts
一种比 contacts_service] 和 flutter_contact] 快得多的替代方案,用于读取设备的联系人簿。
该插件经过优化,能够以最佳性能获取所有联系人列表。根据设备不同,使用该插件加载 1000 个联系人所需时间应在 200 毫秒左右或更短。
使用方法
要使用此插件,请在您的 pubspec.yaml 文件](https://flutter.io/platform-plugins/)中将 fast_contacts 添加为[依赖项]。
权限
Android
在您的 AndroidManifest.xml 中添加以下权限:
<uses-permission android:name="android.permission.READ_CONTACTS" />
iOS
在您的Info.plist文件中设置NSContactsUsageDescription值
<key>NSContactsUsageDescription</key>
<string>Description of why you need the contacts permission.</string>
注意
fast_contacts 不支持权限处理。在访问联系人信息之前,请使用专用插件(如 permission_handler)来请求相应权限。
可用的联系人信息
- ID
- 显示名称
- 结构化名称(前缀、名字、中间名、姓氏、后缀)
- 邮箱
- 电话号码
- 所属机构(公司、部门、职位描述)
示例
// Import package
import 'package:fast_contacts/fast_contacts.dart';
// Get all contacts
final contacts = await FastContacts.getAllContacts();
// Get single contact by ID
final contact = await FastContacts.getContact(contactId);
// Get contact's image (thumbnail)
final thumbnail = await FastContacts.getContactImage(contact.id);
// Get contact's image (full size)
final thumbnail = await FastContacts.getContactImage(contact.id, size: ContactImageSize.fullSize);
如需更完整的用法示例,请参阅example项目。
性能表现
在 Android(三星 Galaxy S8)和 iOS(iPhone 8)设备上,一次性加载 1000 个以上联系人(显示名称、结构化名称、电话号码、电子邮件地址)大约需要 200 毫秒。

