ContactsHelper

class ContactsHelper(context: Context)(source)

Helper de contacts centralisé.

Permissions requises :

  • READ_CONTACTS → lecture

  • WRITE_CONTACTS → création / suppression

Enregistrement Koin :

single { ContactsHelper(androidContext()) }

Utilisation :

// Lire tous les contacts
val contacts = contactsHelper.query(ContactQuery.All)

// Chercher par nom
val results = contactsHelper.query(ContactQuery.search("Alice"))

// Sélecteur natif (pas de permission requise)
val launcher = contactsHelper.registerPickerLauncher(activity) { uri ->
uri?.let { contactsHelper.resolveContact(context, it) }
}
contactsHelper.openPicker(launcher)

Constructors

Link copied to clipboard
constructor(context: Context)

Types

Link copied to clipboard
object Companion

Functions

Link copied to clipboard
@RequiresPermission(value = "android.permission.WRITE_CONTACTS")
fun createContact(displayName: String, phone: String? = null, email: String? = null)

Crée un contact minimal (nom + téléphone). Requiert WRITE_CONTACTS.

Link copied to clipboard
Link copied to clipboard
@RequiresPermission(value = "android.permission.READ_CONTACTS")
fun query(query: ContactQuery = ContactQuery.All): List<ContactInfo>
Link copied to clipboard

Enregistre un launcher pour le sélecteur de contact natif.

Link copied to clipboard
@RequiresPermission(value = "android.permission.READ_CONTACTS")
fun resolveContact(context: Context, uri: Uri): ContactInfo?

Résout un Uri retourné par le sélecteur natif en ContactInfo.