Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 在主存储和辅助存储上获取DCIM文件夹的路径大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在编写一个应用程序,它应该上传由相机拍摄的照片,这些照片存储在内存和SD卡的DCIM / Camera文件夹中.

这意味着在每次上传之前,必须检查所有可用存储是否存在任何图像.

我使用Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM)来访问主存储器,主存储器可以是SD卡或内部存储器(取决于设备).

从文档:“注意:不要在这里混淆”外部“这个词.这个目录可以更好地被认为是媒体/共享存储.它是一个文件系统,可以容纳相对大量的数据,并在所有文件中共享应用程序(不强制执行权限).传统上这是一张SD卡,但它也可以在与受保护的内部存储不同的设备中实现为内置存储,并且可以作为文件系统安装在计算机上.

我的问题是,如何在不对路径进行硬编码的情况下访问辅助存储器以检查DCIM / Camera文件夹中是否存在图像,由于SD卡可能在不同的路径中进行模拟,因此无法正常工作.

解决方法

尝试
File [] aDirArray = ContextCompat.getExternalFilesDirs(context,null);

http://developer.android.com/reference/android/support/v4/content/ContextCompat.html#getExternalFilesDirs(android.content.Context,java.lang.String)

请记住,未模拟外部存储(SD卡),并且所有用户都可以看到所有路径.以上(如果返回非null)返回每个已安装的外部存储的根路径(FilE).所以如果aDirArray.length> 1,然后以下内容为您提供您在可移动存储上寻找的DCIM路径.

文件aExtDcimDir =新文件(aDirArray [1],Environment.DIRECTORY_DCIM);

也许在你的情况下,你想要检查aDirArray [0],aDirArray [1],…(数组中返回的所有文件)是否存在Environment.DIRECTORY_DCIm.

请注意,Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM)返回与新文件(aDirArray [0],Environment.DIRECTORY_DCIM)相同的内容.

大佬总结

以上是大佬教程为你收集整理的android – 在主存储和辅助存储上获取DCIM文件夹的路径全部内容,希望文章能够帮你解决android – 在主存储和辅助存储上获取DCIM文件夹的路径所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。