flutter_native_contact_picker_plus 1.3.0 copy "flutter_native_contact_picker_plus: ^1.3.0" to clipboard
flutter_native_contact_picker_plus: ^1.3.0 copied to clipboard

An enhanced version of flutter_native_contact_picker for selecting contacts from the address book.

1.3.0 Major Android Stability Patch #

🧩 Fixes & Improvements #

  • 🛠 Fixed critical crash caused by
    java.lang.IllegalStateException: Couldn't read row 0, col -1 from CursorWindow
    This issue occurred when certain contact columns (like PHOTO_URI or LOOKUP_KEY) were missing from the query projection.
    ✅ Resolved by adding safe column index handling across all cursor lookups.
    (#2 — thanks @zjJunZhu)

  • ☎️ Added explicit phone type mappinghome, mobile, work, and other
    to make phone number fields more descriptive and consistent across Android devices.
    Thanks @StephenOelofsePropMe for the contribution!
    (#1)

  • 🚀 Improved Android data safety:

    • Added helper methods getStringSafe() and getIntSafe() to prevent invalid cursor reads.
    • Ensures compatibility across various OEM contact providers (Samsung, Xiaomi, Huawei, etc.).
  • 🧠 Code cleanup & refactoring:

    • Streamlined onActivityResult() with safer cursor handling.
    • Improved error logs and fallback handling for missing contact data.

⚙️ Build Configuration Updates #

  • 📱 compileSdkVersion: 36
  • 📱 minSdkVersion: 21
  • ⚙️ Android Gradle Plugin: 8.13.0
  • 🔒 Enforced latest AndroidX and Kotlin compatibility.

🔮 Coming Soon (v2.0.0 Roadmap) #

  • Smart permission layer with auto-request fallback
  • Developer-selectable contact fields (e.g. name, email, avatar)
  • Unified address & organization data model
  • vCard export/import and live contact change listener

Thanks to all contributors! 🙌
flutter_native_contact_picker_plus is now safer, faster, and more reliable on Android.

1.1.1 Swift Package Manager #

  • fix ios issues.
  • support the Swift package manager

1.0.0 Major Update #

🚀 New Features #

  • Added selectPhoneNumber method to select a specific phone number from a contact.

📱 Extended Contact Fields #

Most fields require permission and will be returned only if access is granted. The plugin works gracefully even if the permission is not provided.

  • selectedPhoneNumber: Used with the selectPhoneNumber method.
  • emailAddresses: List of emails with labels.
    Requires READ_CONTACTS on Android / user authorization on iOS.
  • avatar: Base64-encoded image of the contact.
    Requires permission on both platforms.
  • postalAddresses: Includes street, city, state, postal code, country, and label.
    Requires permission.
  • organizationInfo: Contains company and job title.
    Requires permission.
  • birthday: ISO 8601 formatted date string.
    Requires permission.
  • notes: Free-form notes.
    Requires permission.
  • websiteURLs: List of contact-related website URLs.
    Requires permission (Android only).

💡 Enhancements #

  • Improved example app to showcase all available methods and fields.
  • Graceful fallback when permissions are denied (fields return null or empty).
  • Updated Android and iOS implementations for better compatibility.

0.0.2 Patch #

  • Fixed iOS issues.

0.0.1 Initial Release #

  • First release of the package.
9
likes
160
points
3.71k
downloads

Publisher

unverified uploader

Weekly Downloads

An enhanced version of flutter_native_contact_picker for selecting contacts from the address book.

Repository (GitHub)
View/report issues

Documentation

API reference

License

BSD-3-Clause (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on flutter_native_contact_picker_plus

Packages that implement flutter_native_contact_picker_plus