- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 native Android 相机并将文件保存到应用程序数据文件夹 (/mnt/sdcard/Pictures/)。同时 - 在某些设备上 - 另一张照片副本保存到 DCIM 文件夹。
这是我的代码:
private void startStockCameraForResult()
{
// create Intent to take a picture and return control to the calling application
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
// mediaStorageDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
mNextImageFileUri = ImageFileUtils.getOutputMediaFileUri();
intent.putExtra(MediaStore.EXTRA_OUTPUT, mNextImageFileUri); // set the image file name
// start the image capture Intent
startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
}
如何防止在 DCIM 文件夹中保存额外的图像副本?
我的问题是代码生成
1 张照片:三星 Galaxy SIII、华为 HUAWEI P2-6011 等
2 张照片:Samsung Galaxy SI、Htc HTC One XL 等。
其他线程描述了删除最后添加到 DCIM 的图像。这里的问题是没有问题的设备,如 Galaxy SIII,DCIM 和应用程序数据文件夹上的图像名称不同。
非常感谢
最佳答案
据我所知,您无法可靠地告诉相机应用程序(独立于设备)a) 将图像保存在何处以及 b) 也只保存一次。我不得不求助于这种方法:
1) 只需删除 putExtra(...)
语句,让相机应用将图片保存到它喜欢的任何位置:
`intent.putExtra(MediaStore.EXTRA_OUTPUT, mNextImageFileUri); // set the image file name`
这(即不设置 EXTRA_OUTPUT)将保证只有一张图像将保存到默认图片位置。
2) 找到最后拍摄的照片,并保存其 ID,以供以后进行安全检查。 (查询最后一张图片 ID,按 DATE_TAKEN
排序。)
3) 触发捕获 Intent,在您的 onActivityResult
中,再次获取最后拍摄的图像,并保存其 ID、URI 和路径。
4) 如果你的新图片 ID 大于之前保存的那个,继续,否则 panic ......
5) 将原始图像文件(使用其路径)移动到您喜欢的位置。现在,原始文件已被删除。
6) 使用其 URI 删除原始媒体图像条目。现在该图像也已从图库中删除。
7) 如果您还想删除缩略图,那么您需要以类似方式查询和删除它们,但我建议您不要这样做:设备重启或其他媒体扫描应该会刷新缩略图缓存。此外,在删除原始图像后,您实际上很可能会在短时间内需要该缩略图。 (如果您需要更长的时间,则需要小心:如果您将照片移动到私有(private)应用程序目录 (getExternalFilesDir(Environment.DIRECTORY_PICTURES)
),媒体管理器不会(能够)为您生成缩略图,因此您可能需要管理自己的缩略图。)
关于Android:DCIM 文件夹中的重复照片存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19940270/
我的应用程序中有一个方法可以检索我的 DCIM/Camera 文件夹中最后保存的图像,并将其复制到 SD 卡上的另一个位置。我刚刚在另一部手机上测试过它,发现它默认保存到 DCIM/100MEDIA。
我正在使用 native Android 相机并将文件保存到应用程序数据文件夹 (/mnt/sdcard/Pictures/)。同时 - 在某些设备上 - 另一张照片副本保存到 DCIM 文件夹。 这
假设我正在编写一个替代的相机应用程序,并希望将图像写入与相机完全相同的位置,并以与相机完全相同的名称命名它们。 我将如何做到这一点? 如何知道相机文件的位置? 如何知道当前的命名约定? 如何获得该目录
我正在尝试获取默认图像位置中的图像并将文件名打印到 TextView 中。 当我尝试访问该目录时,我总是在 listFiles 上收到空指针异常。我尝试了几种方法来获取目录路径,但似乎没有任何效果。
已解决 我对 int 返回类型使用了一个字节,并且在错误的时刻进行了转换,请参阅我的回答。 原始问题 是否允许读取文件夹 DCIM/Camera 中的文件?我尝试在外部存储的很多地方进行读写操作,但它
我在我的 Activity 中使用默认相机 Intent 来捕捉图像。之后,我将它们的路径存储在一个数组中。在 Activity 结束时,我将图像复制到我的应用程序文件夹中。由于某种原因,图像没有以完
我必须在我的 Android 应用程序中包含一个图像选择器。我是这样设置的: Intent intentGallery = new Intent(Intent.ACTION_PICK, android
我正在尝试从 DCIM 在我的 Activity 中加载图片。我使用以下代码: int BROWSE_PICTURES = 0; public void openBrowsePictures() {
我想在 DCIM 目录中创建一个文件。我尝试了一些变体,但我没有将文件放入目录中。 NSSearchPathDirectory 不起作用,所以我做错了什么? 因为路径是目录,所以我没有退出。 谁能指出
我正在编写一个应用程序,它应该上传存储在内存和 SD 卡上的 DCIM/Camera 文件夹中的相机拍摄的照片。 这意味着在每次上传之前,必须检查所有可用存储空间是否存在任何图像。 我使用 Envir
我正在从 SD 卡获取所有图像,但现在我只想显示用相机拍摄的照片(在 DCIM 文件夹中)。 这有可能吗? 最佳答案 尝试: Environment.getExternalStoragePublicD
这个问题在这里已经有了答案: Android: Duplicate photo storage in DCIM folder (1 个回答) 关闭 5 年前。 https://developer.a
我想从 DCIM 目录中获取所有文件列表,但我不知道为什么,它不起作用。我正在使用下面的示例,但没有数据。 Environment.DIRECTORY_DCIM 或 Environment.getEx
我的想法:无需 Wi-Fi 或蓝牙即可同步音乐。首先我获取我想要的文件,然后将它们压缩成 zip 文件。然后我想将扩展名重命名为JPG,以便iPad可以识别该文件。然后我将其复制到 SD 卡,然后使用
我想知道如何仅使用 Kivy 获取 Android 上 DCIM 文件夹的路径。 PyJinus 不是一个选项,因为它目前不适用于 Python 3.5 到目前为止我尝试的是: DATA_FOLDER
我已经下载this library我正在运行下面的代码: import java.awt.image.BufferedImage; import java.io.BufferedOutputStrea
嘿,我想清空内部文件夹“/storage/emulated/0/DCIM/Camera”这对我来说适用于以下代码 public void emptyDir() { File d
我正在创建用于播放视频的简单 Android 应用。 1 DCIM/folder/test.mp4 - 视频根本无法播放 2 DCIM/test.mp4 - 完美运行(播放视频) Intent
我在我的应用程序中使用相机捕捉图像。 1) 它将图像保存在 sdcard 中,名称是我在 intent 中传递的。 2) 也将图像保存在 sdcard/dcim 文件夹中 我不希望相机将图像保存在#2
我需要从 native 代码获取 DCIM 目录路径。我正在使用以下代码 fragment : jclass envClass = env->FindClass("android/os/Environ
我是一名优秀的程序员,十分优秀!