从应用程序内部内存共享多个图像

时间:2015-09-11 06:21:30

标签: android image share

我有健康的工作代码,可以使用FileProvider库中的android-support-v4.jar工具从我的应用内部内存中分享单个图片。

以下是代码段

Uri uri = FileProvider.getUriForFile(MSafeGalleryActivity.this, "com.packagename.fileprovider", file);
final Intent intent = ShareCompat.IntentBuilder.from(SafeGalleryActivity.this)
        .setType("image/jpeg")
        .setStream(uri)
        .setChooserTitle("Share with")
        .createChooserIntent()
        .addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET)
        .addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);

startActivity(intent);

如果您看到代码,它只接受setStream()方法中的一个URI。 那么请你帮我在这里从我的应用程序的内存中分享多个图像。

1 个答案:

答案 0 :(得分:0)

要共享多个图像,我使用以下代码:

ArrayList<Uri> imageUris = new ArrayList<>();
// Put your file uri in imageUris
// ...
// Create intent
Intent shareIntent = new Intent(Intent.ACTION_SEND_MULTIPLE);
shareIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, imageUris);
shareIntent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
// Grant permission to read files
shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
shareIntent.setType("image/*");
// Start chooser activity
startActivity(Intent.createChooser(shareIntent, getString(R.string.share_send)))