54 votes

Android Partager Via La Boîte De Dialogue

J'ai vu le "partager via" les dialogues qui sont dans des applications comme TFLN (textes de la nuit dernière). Ressemble à ceci: share dialog

Je cherche à partager des textes. Quelqu'un peut me pointer dans la bonne direction? Est-ce fait avec des intentions?

111voto

Second Points 1266

C'est bien fait avec des Intentions.

Pour partager une image, comme dans l'image d'exemple, il serait quelque chose comme ceci:

Intent share = new Intent(Intent.ACTION_SEND);
share.setType("image/jpeg");

share.putExtra(Intent.EXTRA_STREAM,
  Uri.parse("file:///sdcard/DCIM/Camera/myPic.jpg"));

startActivity(Intent.createChooser(share, "Share Image"));

Pour le texte, vous utilisez quelque chose comme:

Intent share = new Intent(Intent.ACTION_SEND);
share.setType("text/plain");
share.putExtra(Intent.EXTRA_TEXT, "I'm being sent!!");
startActivity(Intent.createChooser(share, "Share Text"));

6voto

DiscDev Points 8087

J'ai eu des problèmes avec la accepté de répondre. Ce qui a fonctionné pour moi a été la création d'un fichier à partir du chemin d'accès, puis l'analyse de l'URI du fichier, comme:

Uri.fromFile(new File(filePath));

au lieu de

Uri.parse(filePath)

Juste au cas où quelqu'un est d'avoir le même problème.

4voto

EboMike Points 39257

Oui. Vous devez fournir une Activité avec un filtre d'intention qui peut manipuler des objets de Type MIME image/jpeg (par exemple, si vous voulais en charge le partage des images JPEG), et de l'action des sans doute ACTION_SEND.

De nombreux intégré dans les applications Android sont open-source, vous pouvez vérifier le fichier manifeste de l'application de Messagerie pour voir ce que les filtres d'intention qu'il utilise.

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