cute_contact_picker 0.1.0 copy "cute_contact_picker: ^0.1.0" to clipboard
cute_contact_picker: ^0.1.0 copied to clipboard

A Flutter plugin for select contact from address book,supported both Android、iOS and HarmonyOS.

cute_contact_picker #

Flutter选择通讯录联系人插件,支持Android、iOS和HarmonyOS。

功能 #

  • 支持获取单个联系人信息(不需要通讯录权限)
  • 支持获取联系人列表(需要通讯录权限)
  • Android和IOS支持获取联系人姓名的首字母

模型 #

class Contact {
  Contact({this.fullName, this.phoneNumber, this.firstLetter});

  factory Contact.fromMap(Map<dynamic, dynamic> map) => new Contact(
        fullName: map['fullName'],
        phoneNumber: map['phoneNumber'],
        firstLetter: map['firstLetter'],
      );

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = <String, dynamic>{};
    data['fullName'] = this.fullName;
    data['phoneNumber'] = this.phoneNumber;
    data['firstLetter'] = this.firstLetter;
    return data;
  }

  ///联系人姓名,如张三
  final String? fullName;

  ///电话号码,如13212345678
  final String? phoneNumber;

  ///姓名首字母,如Z
  final String? firstLetter;

}

用法 #

添加依赖到pubspec.yaml #

cute_contact_picker: ^0.1.0

引用 #

import 'package:cute_contact_picker/cute_contact_picker.dart';

添加权限 #

Android

AndroidManifest.xml中添加读取通讯录权限
<uses-permission android:name="android.permission.READ_CONTACTS" />

iOS

Info.plist中添加读取通讯录权限
<key>NSContactsUsageDescription</key>
<string>我们需要访问您的通讯录来帮助您快速填写联系人信息。</string>

HarmonyOS

ohos/entry/src/main/module.json5中声明通讯录权限
"requestPermissions": [
  {
    "name": "ohos.permission.READ_CONTACTS",
    "reason": "读取联系人信息"
  }
]

示例1: 打开原生通讯录选择单个联系人 #

  final CuteContactPicker _contactPicker = new CuteContactPicker();
  Contact _contact = new Contact(fullName: "", phoneNumber: "");

  _getContactData() async {
    Contact contact = await _contactPicker.selectContactWithNative();
    setState(() {
      _contact = contact;
    });
  }

示例2: 返回联系人列表 #

  final CuteContactPicker _contactPicker = new CuteContactPicker();
  List<Contact> _list = new List();

  _getContactData() async {
    //申请权限
    if (await Permission.contacts.request().isGranted) {
      List<Contact> list = await _contactPicker.selectContacts();
      setState(() {
        _list = list;
      });
    }
  }
0
likes
140
points
25
downloads

Publisher

unverified uploader

Weekly Downloads

A Flutter plugin for select contact from address book,supported both Android、iOS and HarmonyOS.

Repository (GitHub)
View/report issues

Topics

#contact #flutter #harmony

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on cute_contact_picker

Packages that implement cute_contact_picker