我正在开发一个 Android 应用程序,它需要显示默认相机文件夹中的图像。我的问题是我不知道如何找到相机照片的内部默认存储文件夹。
当我寻找它将手机连接到 PC 时(它是没有 SD 卡的三星 Galaxy S7),我看到图片存储在DCIM/Camera
. 但是,这不起作用。做:files = new File("DCIM/Camera/");
导致应用程序说那里什么都没有。
如何找到相机照片的默认内部存储文件夹?
首先,您需要了解Android。
Android 中的外部存储是指公共存储,是指设备内存和 SD 卡中的内部存储。保存到外部存储是指设备内部和SD卡,而保存到内部存储是指应用程序私有存储。
因此,图像存储在外部存储或应用程序公共存储中,任何应用程序都可以在其中保存、加载和管理文件。这些图像是公开可用的,因此不在开发人员定义的内部存储中。
现在,您需要该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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句