kotlin 如何在Android上发送/共享多个(大)远程文件

vbopmzt1  于 2023-01-09  发布在  Kotlin
关注(0)|答案(1)|浏览(191)

我有一个应用程序,可以向我显示存储在某个地方的图片和视频。我可以通过令牌和URL通过HTTP访问这些图片和视频。
如何通过我的Android应用程序与其他应用程序共享此数据,例如通过WhatsApp、电子邮件等?
我目前的代码只适用于URI,即设备上已有的文件。但我不能总是临时下载所有的图片和视频来分享它们。这会花费太长时间。有没有办法将输入流传递给其他应用程序?

Intent shareIntent = new Intent();
            shareIntent.setAction(Intent.ACTION_SEND_MULTIPLE);
            shareIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, fileURIs);
            shareIntent.setType("image/*");
            startActivity(Intent.createChooser(shareIntent, null));
x6492ojm

x6492ojm1#

可以,您可以使用Intent.EXTRA_STREAM and the setType()方法将输入流传递给其他应用程序。
首先,您需要创建一个URI对象数组,其中包含您想要共享的所有图像或视频文件。例如:

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

// Add all the URIs to the array
for (String url : urls) {
    fileURIs.add(Uri.parse(url));
}

然后,使用ACTION_SEND_MULTIPLE操作创建一个Intent对象,将类型设置为“image/”或“video/",并将URI数组作为附加项包括在内。例如:

Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND_MULTIPLE);
shareIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, fileURIs);
shareIntent.setType("image/*");
startActivity(Intent.createChooser(shareIntent, null));

最后,打电话开始。希望这对你有帮助,我回答了你的问题!

相关问题