如何在安卓中查找内部存储(默认电话存储)和外部存储(可移动SD卡)?

4
我的Motorola手机有12GB的内部存储和可移动的SD卡功能。
在DDMS文件浏览器中,我的内部电话存储(12GB)被挂载为sdcard,我的可移动式SD卡被挂载为sdcard-ext。
使用“Environment.getExternalStorageDirectory().getAbsolutePath()”方法,我可以得到目录“/mnt/sdcard”。是否有任何方法可以找到我的可移动SD卡的绝对路径?也就是说,它将返回“/mnt/sdcard-ext”。

参见:http://stackoverflow.com/questions/25114901/how-to-read-from-the-internal-storage-subfolder-download-of-android-android - Erdinc Ay
2个回答

5

Android框架目前仅支持一个大容量存储设备,因此难以管理多个设备(您可以尝试解析/proc/mounts以获取所有已挂载的设备)

但是,您可以使用Motorola构建的API来解决这个问题。

请查看Motorola“外部”存储API


0

尝试这段代码,它会返回所有存储文件夹的名称。

在这里查看我的帖子:

https://dev59.com/ZG025IYBdhLWcg3w960W#38930531

不要忘记添加权限。

获取外部存储访问权限

为了在外部存储上读取或写入文件,您的应用程序必须获取READ_EXTERNAL_STORAGE或WRITE_EXTERNAL_STORAGE系统权限。例如:

<manifest ...>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    ...
</manifest>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接