126 votes

Partager l'application "link" dans Android

Je souhaite que les utilisateurs de mon application puissent la partager ou la recommander à d'autres utilisateurs. J'utilise l'intention ACTION_SEND. J'ajoute un texte en clair qui dit quelque chose comme : installez cette application sympa. Mais je n'arrive pas à trouver un moyen de permettre aux utilisateurs d'aller directement à l'écran d'installation de la place de marché par exemple. Tout ce que je peux leur fournir, c'est un lien web ou du texte. En d'autres termes, je cherche un moyen très direct pour les utilisateurs d'Android d'installer mon application.

Merci de votre aide et de vos conseils,

Thomas

10voto

Ben Groot Points 2379

Pour remplir automatiquement le nom et l'identifiant de la demande, vous pouvez utiliser ce qui suit :

int applicationNameId = context.getApplicationInfo().labelRes;
final String appPackageName = context.getPackageName();
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("text/plain");
i.putExtra(Intent.EXTRA_SUBJECT, activity.getString(applicationNameId));
String text = "Install this cool application: ";
String link = "https://play.google.com/store/apps/details?id=" + appPackageName;
i.putExtra(Intent.EXTRA_TEXT, text + " " + link);
startActivity(Intent.createChooser(i, "Share link:"));

8voto

Phan Van Linh Points 16963

Partager l'application avec le titre est votre nom d'application, le contenu est le lien de votre application.

fun shareApp(context: Context) {
    val appPackageName = BuildConfig.APPLICATION_ID
    val appName = context.getString(R.string.app_name)
    val shareBodyText = "https://play.google.com/store/apps/details?id=$appPackageName"

    val sendIntent = Intent(Intent.ACTION_SEND).apply {
        type = "text/plain"
        putExtra(Intent.EXTRA_TITLE, appName)
        putExtra(Intent.EXTRA_TEXT, shareBodyText)
    }
    context.startActivity(Intent.createChooser(sendIntent, null))
}

5voto

Amit Mhaske Points 170

Je sais que cette question a reçu une réponse, mais j'aimerais vous faire part d'une autre solution :

Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("text/plain");
String shareSubText = "WhatsApp - The Great Chat App";
String shareBodyText = "https://play.google.com/store/apps/details?id=com.whatsapp&hl=en";
shareIntent.putExtra(Intent.EXTRA_SUBJECT, shareSubText);
shareIntent.putExtra(Intent.EXTRA_TEXT, shareBodyText);
startActivity(Intent.createChooser(shareIntent, "Share With"));

3voto

Kishan Vasoya Points 906

Enfin, ce code a fonctionné pour moi pour ouvrir le client de messagerie à partir d'un appareil Android. Essayez cet extrait.

Intent testIntent = new Intent(Intent.ACTION_VIEW);
                    Uri data = Uri.parse("mailto:?subject=" + "Feedback" + "&body=" + "Write Feedback here....." + "&to=" + "someone@example.com");
                    testIntent.setData(data);
                    startActivity(testIntent);

2voto

tomrozb Points 2238

Extension Kotlin pour les actions de partage. Vous pouvez partager ce que vous voulez, par exemple un lien

fun Context.share(text: String) =
    this.startActivity(Intent().apply {
        action = Intent.ACTION_SEND
        putExtra(Intent.EXTRA_TEXT, text)
        type = "text/plain"
    })

Utilisation

context.share("Check https://stackoverflow.com")

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X