A Flutter plugin to access and manage the device's contacts.
To use this plugin, add
contacts_service as a dependency in your
dependencies: contacts_service: ^0.2.5
Add the following permissions to your AndroidManifest.xml:
<uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.WRITE_CONTACTS" />
NSContactsUsageDescription in your
<key>NSContactsUsageDescription</key> <string>This app requires contacts access to function properly.</string>
contacts_service does not handle the process of asking and checking for permissions. To check and request user permission to access contacts, try using the following plugins: flutter_simple_permissions or permission_handler.
If you do not request user permission or have it granted, the application will fail. For testing purposes, you can manually set the permissions for your test app in Settings for your app on the device that you are using. For Android, go to "Settings" - "Apps" - select your test app - "Permissions" - then turn "on" the slider for contacts.
// Import package import 'package:contacts_service/contacts_service.dart'; // Get all contacts on device Iterable<Contact> contacts = await ContactsService.getContacts(); // Get all contacts without thumbnail(faster) Iterable<Contact> contacts = await ContactsService.getContacts(withThumbnails: false); // Get contacts matching a string Iterable<Contact> johns = await ContactsService.getContacts(query : "john"); // Add a contact // The contact must have a firstName / lastName to be successfully added await ContactsService.addContact(newContact); // Delete a contact // The contact must have a valid identifier await ContactsService.deleteContact(contact); // Update a contact // The contact must have a valid identifier await ContactsService.updateContact(contact); // Share a contact as a vcf await shareVCFCard(context, contact: contact),
// Name String displayName, givenName, middleName, prefix, suffix, familyName; // Company String company, jobTitle; // Email addresses Iterable<Item> emails = ; // Phone numbers Iterable<Item> phones = ; // Post addresses Iterable<PostalAddress> postalAddresses = ; // Contact avatar/thumbnail Uint8List avatar;
Contributions are welcome! If you find a bug or want a feature, please fill an issue.
If you want to contribute code please create a pull request.
Heavily inspired from rt2zz's react native plugin
Demonstrates how to use the contacts_service plugin.
For help getting started with Flutter, view our online documentation.
Add this to your package's pubspec.yaml file:
dependencies: contacts_service: ^0.2.5
You can install packages from the command line:
$ flutter packages get
Alternatively, your editor might support
flutter packages get.
Check the docs for your editor to learn more.
Now in your Dart code, you can use:
|0.2.5||Apr 21, 2019|
|0.2.4||Mar 12, 2019|
|0.2.3||Mar 2, 2019|
|0.2.2||Mar 2, 2019|
|0.2.1||Feb 22, 2019|
|0.2.0||Feb 20, 2019|
|0.1.1||Jan 31, 2019|
|0.1.0||Jan 11, 2019|
|0.0.9||Oct 10, 2018|
|0.0.8||Aug 16, 2018|
Describes how popular the package is relative to other packages. [more]
Code health derived from static analysis. [more]
Reflects how tidy and up-to-date the package is. [more]
Weighted score of the above. [more]
We analyzed this package on Apr 24, 2019, and provided a score, details, and suggestions below. Analysis was completed with status completed using:
Detected platforms: Flutter
References Flutter, and has no conflicting libraries.
lib/share.dart. (-2.48 points)
lib/share.dart reported 5 hints:
line 26 col 1: The class 'Future' was not exported from 'dart:core' until version 2.1, but this code is required to be able to run on earlier versions.
line 31 col 1: The class 'Future' was not exported from 'dart:core' until version 2.1, but this code is required to be able to run on earlier versions.
line 36 col 1: The class 'Future' was not exported from 'dart:core' until version 2.1, but this code is required to be able to run on earlier versions.
line 48 col 1: The class 'Future' was not exported from 'dart:core' until version 2.1, but this code is required to be able to run on earlier versions.
line 54 col 1: The class 'Future' was not exported from 'dart:core' until version 2.1, but this code is required to be able to run on earlier versions.
flutter format to format
|Dart SDK||>=2.0.0-dev.58.0.flutter-f981f09760 <3.0.0|