当前位置: 首页 > 知识库问答 >
问题:

如何将文件准确地写入相机所在的DCIM目录?

隗翰海
2023-03-14

假设我正在编写另一个相机应用程序,并希望将图像准确地写入相机所做的相同位置,并以相机所做的相同名称准确地命名它们。

我将如何实现这一点?

如何知道相机文件的位置?

如何知道当前的命名约定?

如何获得该目录的权限?

任何回答都将不胜感激。

好吧,假设它不是真正的相机替代品。假设我想写图像以外的格式,比如音频、视频或其他。

共有3个答案

卓正业
2023-03-14

这个答案需要记住的事情:

>

  • 每个手机生产商都会创建自己的相机应用程序,根据他们的硬件量身定制。

    有了正确的权限,应用程序可以(几乎)在任何他们想要的地方写入。。。

    现在回答您的问题:

    首先,我们不知道照片存储在哪里,命名惯例是什么。每个人和他们的母亲对什么是最好的都有不同的想法。所以没有“嘿,它总是在那里”。

    那些寻求的人会发现:得到阅读

    找到的并不是无组织的:只需找到所使用的模式即可。这可能有一个标准。大公司肯定会有一个。您可以询问设备的制造商。请注意,这个答案可能不正确。

    那不是一张照片吗,不,这是一张照片:然后你会得到访问相机的有趣部分。美好时光。记住:请求图片=

    玩得开心点

    附言,反对票可能是因为缺乏代码

  • 帅德惠
    2023-03-14

    您不能像默认的相机应用程序那样完全写入同一文件夹。但您可以利用环境。getExternalStoragePublicDirectory(Environment.DI‌​‌目录\u DCIM)

    
    mediaStorageDir = new File(Environment.getExternalStorageDirectory(), FOLDER_NAME);
    Intent takePictureFromCameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    takePictureFromCameraIntent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, 
         Uri.fromFile(mediaStorageDir));
    startActivityForResult(takePictureFromCameraIntent, 100);
    
    

    但是,请注意,这将仅在DCIM目录中创建一个子文件夹,并且不会准确存储默认相机的位置。但您始终可以使用所需的文件夹名称创建子文件夹。

    蓝星辰
    2023-03-14

    我将如何实现这一点?

    Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM) + File.separator + "You Dir. Name";
    

    如果您附加任何字符串来结束此

    <代码>环境。getExternalStoragePublicDirectory(Environment.DIRECTORY\u DCIM)

    它将在文件夹中创建目录

    如何知道相机文件的位置?

    默认情况下,相机使用此位置

    <代码>环境。getExternalStoragePublicDirectory(Environment.DIRECTORY\u DCIM)

    如何知道当前的命名约定?

    IMG\u yyyyMMDD\u时间戳

    如何获得该目录的权限?

    对相机和外部存储权限使用权限管理器

     类似资料:
    • 我正在开发一个Flutter应用程序,需要将文件写入本地系统(iOS、Android和Web)。我在逻辑上遵循了读写文件的留档,并使用制作了一个小例子来测试功能: 这个测试函数只是通过一个按钮来调用,没有什么疯狂之处。但当我在浏览器中运行时 似乎这个问题是众所周知的,已经遵循了这里和这里的建议,包括: 运行并重新获取包裹 完全关闭应用程序并重新运行 将颤振升级至最新稳定状态 重新将添加到我的pub

    • 问题内容: 我正在尝试运行shell命令,捕获stdout并将该输出写入文件。但是,我似乎缺少了一些步骤,因为当程序存在时,我要写入的文件为空。如何捕获命令的标准输出并将其写入文件? 问题答案: 您需要冲洗编写器。添加以下内容:

    • 我存储用户收藏夹到json文件,但我得到以下错误: 未处理的异常:类型“\u InternalLinkedHashMap” 我将以下数据添加到文件中: 代码是: 我很困惑,不知道如何解决这个问题。

    • 问题内容: 假设您有一个用于处理某种XML文件或配置文件的库。该库将整个文件读入内存,并提供用于编辑内容的方法。处理完内容后,可以调用将内容保存回文件。问题是如何以安全的方式执行此操作。 覆盖现有文件(开始写入原始文件)显然是不安全的。如果该方法在完成之前失败,则最终将写入一半的文件,并且您丢失了数据。 更好的选择是在某个位置写入 临时 文件,方法完成后, 将 临时文件 复制 到原始文件。 现在,

    • 问题内容: 我正在尝试使用Go写入日志文件。 我尝试了几种方法,但都失败了。这是我尝试过的: 日志文件被创建,但是没有任何打印或附加到该文件。为什么? 问题答案: 过去的工作方式一定不同,但这对我有用: 基于Go文档,不能用于,因为它会打开文件“供阅读:” 打开命名文件以供读取。如果成功,则可以使用返回文件上的方法进行读取;关联的文件描述符具有mode 。如果有错误,它将是类型。 编辑 检查后移至

    • 问题内容: 我试图将XML 存储到XML文件中,以便稍后可以检索信息,然后将其显示回控制台。 有人可以告诉我最有效的方法吗? 编辑: 这是我要写入外​​部文件的内容 这一切都创建了一个Bank用户,该用户被扔到中,然后我想存储他们的信息,以便稍后返回并重新显示。 问题答案: //根据需要修改下面的类 //下面的类实际写了