gpt4 book ai didi

android - 在 Android 中访问内部存储

转载 作者:太空狗 更新时间:2023-10-29 16:28:35 25 4
gpt4 key购买 nike

我正在开发一个 Android 应用程序,它需要显示默认相机文件夹中的图像。我的问题是我不知道如何找到相机照片的内部默认存储文件夹

当我查找将手机连接到 PC 时(它是没有 SD 卡的三星 Galaxy S7),我看到图片存储在 DCIM/Camera 中。但是,这不起作用。执行:files = new File("DCIM/Camera/"); 导致应用程序说那里什么都没有。

如何找到相机照片的默认内部存储文件夹?

最佳答案

首先,您需要了解 Android。

  • 内部存储是应用私有(private)存储
  • 外部存储是可公开访问的存储区域

Android 中的外部存储是指公共(public)存储,而指设备内存和 SD 卡中的内部存储。保存到外部存储是指设备内部和SD卡,而保存到内部存储是指应用程序私有(private)存储。

因此,图像存储在外部存储或应用程序公共(public)存储中,任何应用程序都可以在其中保存、加载和管理文件。这些图像是公开可用的,因此根据开发人员的定义不在内部存储中。

现在,您需要 WRITE_EXTERNAL_STORAGE 权限,如果您的目标是 API 23,您还需要请求它,因为它是一个危险的权限。

要访问图像,您需要创建一个新文件:

storageDir = new File(
Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_PICTURES
),
"album name here, or remove this part to save or load directly into DCIM"
);

这个可以用来保存或者载入图片,但是记得在载入之前索引目录找到图片,防止出现IOException

关于android - 在 Android 中访问内部存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44440425/

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