在Android中同时发送文本和图像

时间:2014-06-02 09:44:22

标签: android android-intent android-sharing

在我的应用程序中,我的要求是同时发送图像和文本。所以我使用以下代码

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

但只有图像被发送但文本没有发送。我该如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

您要将MIME type的{​​{1}}设置为Intent,这就是为什么只发送图像的原因。 这样的事情可以解决你的问题:

image

答案 1 :(得分:2)

试试这个

//假设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:"));

答案 2 :(得分:1)

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

这种方式应该没问题。