gpt4 book ai didi

Android - 查找所有内部和外部存储

转载 作者:行者123 更新时间:2023-11-30 04:17:37 26 4
gpt4 key购买 nike

所以我注意到,从设备到设备,内部和外部有许多不同的配置。在我的 Evo 上只有内部存储和外部 SD 卡,但在同年的 Droid Incredible 上,有内部存储、内部 SD 卡(~8GB)和外部 SD 卡(默认 1GB)。想必还有其他配置,并且还会有更多。

但是,关于枚举可用存储介质的数量,我似乎只能找到类似 Environment 之类的东西。 ,您可以在其中执行 getExternalStorageDirectory() 之类的操作,它返回一个文件,而不是 File[] 或类似的东西。有没有一种更安全、通用的方法来枚举所有可用的存储介质?您是否只需要导航到/mnt/并在那里获取列表以查看所有已安装的卷?

最佳答案

Is there a safer, generalized way to enumerate all the storage media available?

从 SDK 的角度来看,有内部存储 (getFilesDir()) 和外部存储 (Environment.getExternalStorageDirectory())。在 Android 1.x/2.x 上,这些将是单独的分区;在 Android 3.0+ 上,它们将是一个分区。

根据定义,超出 SDK 提供范围的任何操作都是不安全的。无法保证分区名称、它们的作用是什么、您是否可以从它们读取、是否可以写入它们等等。即使您要构建一个包含所有可能性的数据库(模型、操作系统版本、分区和他们的状态),该数据库相对于新设备和操作系统版本将永远过时。

可能能够通过 MediaStore 访问其他分区上的媒体文件。例如,除了板载外部存储之外,一些提供 SD 卡的设备制造商会索引 SD 卡的文件,因此 SD 卡上包含的任何媒体文件都会显示在 MediaStore 中。这可能允许您使用其他制造商提供的分区(例如 SD 卡)上的内容,但 AFAIK MediaStore 无法让您在此类分区上放置新文件。

关于Android - 查找所有内部和外部存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9741939/

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