/ / Android Studio Share-Taste - Android, Navigation, Freigabe, Schublade

Android Studio Share-Taste - Android, Navigation, Freigabe, Schublade

Ich wollte einen Share-Button in einer Navigation machenSchublade, wenn der Benutzer die Taste berührt, öffnet sich diese schwarze Schublade mit der Liste aller Anwendungen und der Benutzer kann die Google Play Link apps teilen. Gibt es eine generische Codevorlage? Die einzigen Antworten, die ich gefunden habe, sind, es nur auf einer Anwendung wie Facebook zu teilen, die nutzlos scheint, weil nicht jeder Facebook nutzt.

Antworten:

6 für die Antwort № 1

Verwenden Sie die gemeinsame Absicht http://developer.android.com/training/sharing/send.html

Beispielcode

Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
sendIntent.setType("text/plain");
startActivity(sendIntent);

0 für die Antwort № 2

Sie können Inhalte senden, indem Sie eine implizite Absicht mit ACTION_SEND aufrufen.

So senden Sie Bilder oder Binärdaten:

final Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("image/jpg");
final File photoFile = new File(getFilesDir(), "foo.jpg");
shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(photoFile));
startActivity(Intent.createChooser(shareIntent, "Share image using"));

sende ein Bild zusammen mit Text. Dies kann erfolgen mit:

String text = "Look at my awesome picture";
Uri pictureUri = Uri.parse("file://my_picture");
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_TEXT, text);
shareIntent.putExtra(Intent.EXTRA_STREAM, imageUri);
shareIntent.setType("image/*");
shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(Intent.createChooser(shareIntent, "Share images..."));

Das Teilen mehrerer Bilder kann erfolgen mit:

Intent shareIntent = new Intent(Intent.ACTION_SEND_MULTIPLE);
shareIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, imageUris);
shareIntent.setType("image/*");