В моем приложении Мое требование – отправлять изображение и текст одновременно. Поэтому я использую следующий код
Intent share = new Intent(Intent.ACTION_SEND); share.setType("image/jpeg"); share.putExtra(Intent.EXTRA_TEXT, "My photos"); share.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///"+f)); startActivity(Intent.createChooser(share, "Share Image"));
Но только изображение отправляется, но текст не отправляется. Как я могу решить эту проблему?
PLZ попробовать это
// Предполагая, что uris – это список Uri
Intent intent = null; if (uris.size > 1){ intent = new Intent(Intent.ACTION_SEND_MULTIPLE); intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris); } else if (uris.size() == 1) { intent = new Intent(Intent.ACTION_SEND); intent.putExtra(Intent.EXTRA_STREAM, uris.get(0));} intent.setType("image/*"); intent.putExtra(Intent.EXTRA_TEXT, "Some message"); startActivity(Intent.createChooser(intent,"compatible apps:"));
Вы MIME type
этого Intent
для image
, поэтому отправляется только изображение. Что-то вроде этого решит вашу проблему:
Intent share = new Intent(Intent.ACTION_SEND); share.setType("*/*"); share.putExtra(Intent.EXTRA_TEXT, "My photos"); share.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///"+f)); startActivity(Intent.createChooser(share, "Share Image"));
String message= "My photos"; URI = Uri.parse("file://" + f); Intent share = new Intent(android.content.Intent.ACTION_SEND); share.setType("*/*"); if (URI != null) { share.putExtra(Intent.EXTRA_STREAM, URI); } share.putExtra(android.content.Intent.EXTRA_TEXT, message); startActivity(Intent.createChooser(share, "Share Image"));
Этот путь должен быть в порядке.