首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >检测Android中的可移动外部存储

检测Android中的可移动外部存储
EN

Stack Overflow用户
提问于 2016-01-27 06:43:10
回答 2查看 1.8K关注 0票数 4

据我所知,有三种存储方式,

  1. 内部存储:它是私有的,没有人可以访问它。 例如:File internalFile = new File(getFilesDir(), "MyFile.txt");
  2. 外部存储:它不可移动。 例如:File externalFile = new File(Environment.getExternalStorageDirectory(), "MyFile.txt");
  3. 二级外部存储:它可以由用户挂载或卸载。

我的问题是关于第三类储藏室。如何使用二级SD卡?我找了好几个小时,但没有找到答案。

EN

回答 2

Stack Overflow用户

发布于 2016-01-27 06:51:29

要检测sd卡的可用性,可以这样做。

代码语言:javascript
运行
复制
    boolean mExtStorage = false;
    boolean mExtWriteable = false;
    String state = Environment.getExternalStorageState();
    if (Environment.MEDIA_MOUNTED.equals(state)) {
        mExtStorage = mExtWriteable = true;
    } else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
        mExtStorage = true;
        mExtWriteable = false;
    } else {
        mExtStorage = mExtWriteable = false;
    }
票数 0
EN

Stack Overflow用户

发布于 2016-01-27 07:05:01

只有两种类型,

  1. 内部存储
  2. 外部存储,可以是可移动的(SD卡)或不可移动的.

有关更多细节,请查看本指南。我希望它有你所需要的一切。

可以使用以下代码检测本指南中指定的存储状态

/*检查外部存储是否可用于读和写*/公共布尔值isExternalStorageWritable() { String state = Environment.getExternalStorageState();if (Environment.MEDIA_MOUNTED.equals( state )) {返回真;}返回false;} /*检查外部存储是否至少可用于读*/公共布尔isExternalStorageReadable() { String state= Environment.getExternalStorageState();如果(状态) Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {返回真;}返回假;}

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

https://stackoverflow.com/questions/35030443

复制
相关文章

相似问题

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