gpt4 book ai didi

Android:在外部存储上找不到文件

转载 作者:太空狗 更新时间:2023-10-29 16:40:05 25 4
gpt4 key购买 nike

我有一个字符串 filename,它是 android 设备外部存储上图片文件夹的路径。我正在使用字符串通过 opencv 保存图像。然后我想发送一个分享 Intent 与其他应用分享保存的图像。

Highgui.imwrite(filename, Image);
Log.d("WRITEPATH", filename);

在 LogCat 中,我得到 WRITEPATH:

/storage/emulated/0/Pictures/MyImages/Image1.jpg

然后我将文件路径字符串转换为 uri:

Uri lastsavedUri=Uri.parse(new File(filename).toString())

并发送我的分享意向:

Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND_MULTIPLE);
shareIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, SavedImages);
shareIntent.setType("image/*");
startActivity(Intent.createChooser(shareIntent, "Share images to.."));

SavedImages 是一个包含多个 lastsavedUri

的 ArrayList

很遗憾,没有应用程序可以找到我要分享的图片。例如,点击发送邮件后 Gmail 崩溃,我收到一个 logcat 错误

10-07 10:19:47.265: E/Gmail(26264): Unable to get orientation of thumbnail /storage/emulated/0/Pictures/MyImages/Image1.jpg 10-07 10:19:47.265: E/Gmail(26264): java.io.FileNotFoundException: No content provider: /storage/emulated/0/Pictures/MyImages/Image1.jpg

为什么我可以使用文件路径字符串保存我的图像,但为什么我不能共享保存的图像?路径是否不正确?如何获得保存图像的正确路径?

最佳答案

我试过了

File saveFile = new File(filename);
SavedImages.add(Uri.fromFile(saveFile));

代替

Uri lastsavedUri=Uri.parse(new File(filename).toString())
SavedImages.add(lastsavedUri);

现在它正在工作。我不明白为什么,但它有效。

关于Android:在外部存储上找不到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19220103/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com