/ / Pulsante Android Studio Share - Android, navigazione, condivisione, drawer

Pulsante Android Studio Share - Android, navigazione, condivisione, cassetto

Volevo fare un pulsante di condivisione su una navigazionedrawer, quando l'utente tocca il pulsante si aprirà quel cassetto nero con l'elenco di tutte le applicazioni e l'utente potrà condividere le app Google play link. Esiste un modello di codice generico? l'unica risposta che ho trovato è semplicemente condividerla su un'applicazione come Facebook, che sembra inutile perché non tutti usano Facebook.

risposte:

6 per risposta № 1

Usa l'intento di condivisione http://developer.android.com/training/sharing/send.html

codice di esempio

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 per risposta № 2

Puoi inviare contenuti invocando un intento implicito con ACTION_SEND.

Per inviare immagini o dati binari:

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"));

invia un'immagine insieme al testo. Questo può essere fatto con:

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..."));

La condivisione di più immagini può essere eseguita con:

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