卡上写入可在图库中查看的照片文件

卡上写入可在图库中查看的照片文件

本文介绍了Android:在 SD 卡上写入可在图库中查看的照片文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试找到一种方法(与 android kitkat 和 next 兼容)在 SD 卡上写入照片并使它们对图库应用可见.

I'm trying to found a way (compatible with android kitkat and next) to write photos on the SD Card and make them visible to the gallery app.

  • 如果我使用 Environment.getExternalStoragePublicDirectory ,三星设备将返回内存中的路径 (/storage/emulated/0/... )
  • 如果我使用 Context.getExternalFilesDirs ,有两个结果:第一个在内部存储上,第二个在 SD 卡上.好的,我可以在里面写,照片在SDCard上.但是我在 Galery 应用程序中看不到它 :'(

我曾尝试直接在/storage/externalSdCard/DCIM/上写入,但当然不能,因为我正在运行 kitkat.

I have tried to write directly on /storage/externalSdCard/DCIM/ but of course I can't since I'm running kitkat.

推荐答案

首先,当您完成写入文件后,调用 flush(),然后是 getFD().sync(),然后是 close(),都在你的 FileOutputStream 上.

First, when you are done writing to the file, call flush(), then getFD().sync(), then close(), all on your FileOutputStream.

然后,使用 MediaScannerConnection 及其 scanFile() 方法来获取由 MediaStore 索引的新写入的文件.

Then, use MediaScannerConnection and its scanFile() method to get the newly-written file indexed by the MediaStore.

这篇关于Android:在 SD 卡上写入可在图库中查看的照片文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-05 17:46