gpt4 book ai didi

java - 如何将 .GIF 文件保存到图库中?

转载 作者:行者123 更新时间:2023-12-02 12:02:09 26 4
gpt4 key购买 nike

为什么这在 Android 中这么难做到?我知道图像很容易,但为什么 .gif 不可以呢?

我这里有这段代码,它将其保存到 SD 卡,但我正在尝试考虑没有 SD 卡的用户。

File sdCard = Environment.getExternalStorageDirectory();
File dir = new File (sdCard.getAbsolutePath() + "/dir1/dir2");
dir.mkdirs();
File file = new File(dir, "GIFName_" + System.currentTimeMillis() +".gif");

try {
FileOutputStream f = new FileOutputStream(file);
f.write(generateGIF(list));

} catch(Exception e) {
e.printStackTrace();
}

我的应用程序基本上将图像转换为 .GIFS,现在将其保存在 SD 卡上,但我想将其保存到图库中。有什么办法可以轻松做到这一点吗?我知道您可以对图像执行此操作,但是您可以对创建的 .GIFS 执行此操作吗?

最佳答案

图库到底是什么意思?没有名为 Gallery 的目录。不过,有一个名为 Gallery 的应用程序,我希望这就是您的意思。

Environment.getExternalStorageDirectory() 将返回外部存储的根路径。这与您尝试保存的文件没有依赖性。如果您想保存到Pictures目录,那么您可以执行Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES)

Gallery 是 Android 中的一个应用程序,它扫描整个系统并向其中添加所有媒体项。如果您尝试在 Android 中以编程方式保存文件,无论是 .gif.jpg.png,都不能保证文件将立即被Gallery选取。这就是您需要使用 MediaScannerConnection 的原因。这将允许您添加新创建的文件以在图库中显示。

如下所示:

MediaScannerConnection.scanFile(context, new String[]{file.getAbsolutePath()}, null, null);

文档:https://developer.android.com/reference/android/media/MediaScannerConnection.html#scanFile(java.lang.String , java.lang.String)

关于java - 如何将 .GIF 文件保存到图库中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47168839/

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