我想用一个字幕共享多张图片

时间:2018-08-14 10:45:18

标签: android android-intent share whatsapp

我想共享一个字幕的多张图片,而不是全部显示在一张图像上。但是标题将显示在一次共享的每张照片上。

这是我的代码

private void pic_with_data() {

    Intent shareIntent = new Intent(); 
    shareIntent.setAction(Intent.ACTION_SEND);
    shareIntent.setPackage("com.whatsapp");
    shareIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, imageUriArray);
    shareIntent.putExtra(Intent.EXTRA_TEXT, "Download this App");
    shareIntent.setType("text/plain");

    shareIntent.setType("image/jpeg");
    shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
    try {
        startActivity(Intent.createChooser(shareIntent, "Share Image!"));
        startActivity(shareIntent);
    } catch (android.content.ActivityNotFoundException ex) {
        Toast.makeText(this, "Whatsapp have not been installed.", Toast.LENGTH_SHORT).show();
    }
}

1 个答案:

答案 0 :(得分:0)

使用Intent.ACTION_SEND_MULTIPLE代替Intent.ACTION_SEND

Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND_MULTIPLE);
intent.putExtra(Intent.EXTRA_SUBJECT, "Here are some files.");
intent.setType("image/jpeg"); /* This example is sharing jpeg images. */

ArrayList<Uri> files = new ArrayList<Uri>();

for(String path : filesToSend /* List of the files you want to send */) {
    File file = new File(path);
    Uri uri = Uri.fromFile(file);
    files.add(uri);
}

intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, files);
startActivity(intent);

请记住,从API 24开始,共享文件URI将导致FileUriExposedException。为了解决这个问题,您可以将compileSdkVersion切换为23或更低版本,也可以将内容URI与FileProvider一起使用。