首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android -查找所有内部和外部存储

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

Stack Overflow用户
提问于 2012-03-17 01:36:08
回答 1查看 1.3K关注 0票数 1

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

但是,关于枚举可用存储介质的数量,我能找到的似乎都是像Environment这样的东西,在这些东西中,您可以做像getExternalStorageDirectory()这样的事情,它返回一个文件,而不是File[]或任何类似的东西。是否有一种更安全、更通用的方法来枚举所有可用的存储介质?您是否只需导航到/mnt/并在那里获得一个列表,即可查看所有已挂载的卷?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-17 03:23:32

是否有一种更安全、更通用的方法来枚举所有可用的存储介质?

从软件开发工具包的角度来看,有内部存储(getFilesDir())和外部存储(Environment.getExternalStorageDirectory())。在Android 1.x/2.x上,它们将是独立的分区;在Android 3.0+上,它们将是单个分区。

根据定义,做任何超出SDK所提供内容的操作都是不安全的。没有关于分区名称、它们的角色、您是否可以读取它们、是否可以写入它们等的保证。即使您要构建一个包含所有可能性(型号、操作系统版本、分区及其状态)的数据库,该数据库对于新设备和操作系统版本来说也将永远过时。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9741939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档