我有健康的工作代码,可以使用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。
那么请你帮我在这里从我的应用程序的内存中分享多个图像。
答案 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)))