ShareHelper

class ShareHelper(context: Context)(source)

Helper de partage système centralisé.

Aucune permission requise pour le partage de texte/URL. Pour les fichiers, déclarer un FileProvider dans le manifest de l'app.

Enregistrement Koin :

single { ShareHelper(androidContext()) }

Utilisation :

shareHelper.share(ShareContent.text("Découvrez Kindling !"))
shareHelper.share(ShareContent.url("https://github.com/ClementBobin/Kindling"))

// Partager un fichier
val uri = shareHelper.getFileUri(file, "com.example.app.fileprovider")
shareHelper.share(ShareContent.file(uri, "image/png"))

// Ouvrir directement dans une app spécifique
shareHelper.shareToApp(ShareContent.text("hello"), "com.whatsapp")

Constructors

Link copied to clipboard
constructor(context: Context)

Functions

Link copied to clipboard
fun getFileUri(file: File, authority: String): Uri

Convertit un File en Uri partageable via FileProvider. authority doit correspondre à l'authority déclarée dans le manifest.

Link copied to clipboard
fun share(content: ShareContent)

Ouvre le sélecteur de partage système.

Link copied to clipboard
fun shareToApp(content: ShareContent, targetPackage: String)

Partage directement vers une app spécifique (par package). Tente de lancer l'intent explicitement ; si l'app n'est pas installée ou n'est pas visible (Android 11+), attrape ActivityNotFoundException et ouvre le sélecteur standard à la place.