- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
为什么这在 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/
我是一名优秀的程序员,十分优秀!