Android的Environment.getExternalStorageState的使用
1.sd状态
| sd状态 | 现象描述 | /mnt/sdcard目录是否存在 | canRead返回 | canWrite返回 |
| MEDIA_MOUNTED | SD卡正常挂载 | true | true | true |
| MEDIA_REMOVED | 无介质 | true | false | false |
| MEDIA_UNMOUNTED | 有介质,未挂载,在系统中删除 | true | false | false |
| MEDIA_BAD_REMOVAL | 介质在挂载前被移除,直接取出SD卡 | true | false | false |
| MEDIA_CHECKING | 正在磁盘检查,刚装上SD卡时 | true | false | false |
| MEDIA_SHARED | SD卡存在但没有挂载,并且通过USB大容量存储共享,操作打开USB存储 | true | false | false |
| MEDIA_MOUNTED_READ_ONLY | SD卡存在并且已挂载,但是挂载方式为只读 | - | - | - |
| MEDIA_NOFS | 介质存在但是为空白或用在不支持的文件系统 | - | - | - |
| MEDIA_UNMOUNTABLE | 存在SD卡但是不能挂载,例如发生在介质损坏 | - | - | - |
2.读取SD卡状态的用处
读取SD卡状态为MEDIA_MOUNTED是/mnt/sdcard目录才能可读可写,读取SD卡时一般会这样写:
String state;
String path;
state = Environment.getExternalStorageState();
if (state.equals(Environment.MEDIA_MOUNTED)) {
path = Environment.getEcternalStorageDirectory().getAbsolutePath();
}
读写SD卡的两个权限:
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Android的Environment.getExternalStorageState的使用的更多相关文章
- Android中Environment与StatFs获取系统/SDCard存储空间大小
近期想起Android开发的知识.好久没有使用了,都忘得几乎相同了,今天查看了一会资料往回捡捡,顺便写下来帮助一下须要的同学. 首先讲述一下Environment与StatFs这两个类,然后介绍它们的 ...
- android 41 Environment
assets通常存储音频视频文件,但不要太大. Environment可以获取sd卡的相关信息,sd卡的根路径:/storage/sdcard activity.java package com.sx ...
- Could not install the app on the device, read the error above for details. Make sure you have an Android emulator running or a device connected and have set up your Android development environment:
Administrator@DESKTOP-EHCTIOR MINGW64 /d/react-native-eyepetizer (master) $ react-native run-android ...
- Android 中 Environment.getExternalStorageDirectory()无效
我们在处理缓存的时候,并不是每次都会在应用私有存储空间那里保存,很多时候是需要用到ExternalStorage.我们平时一般都是用Environment.getExternalStorageDire ...
- android的Environment类 Android存储访问及目录
http://www.cnblogs.com/mengdd/p/3742623.html http://blog.csdn.net/barnett_zhubo/article/details/6832 ...
- Android Environment 获取各种路径的方法
<pre name="code" class="java">package com.deepoon.beyond.environment; impo ...
- 随笔分类 - Android之工具类
Android之文件搜索工具类 /** * @detail 搜索sdcard文件 * @param 需要进行文件搜索的目录 * @param 过滤搜索文件类型 */ private void sear ...
- 大叔也说Xamarin~Android篇~日志的记录
回到目录 无论哪个平台,开始哪种应用程序,日志总是少不了的,大家在Lind.DDD里也可以看到大叔的日志组件,而在xamarin进行移动开发时,为了更好的调试,记录运行的情况,日志也是必须的,这讲主要 ...
- Android中使用SQLiteOpenHelper管理SD卡中的数据库
使用Android中自带的SQLiteOpenHelper可以完成数据库的创建与管理,但有两点局限: (1)数据库创建在内存卡中,大小受限,创建位置位于/data/data/应用程序名/databas ...
随机推荐
- Android DVM
1.DVM(Dalvik Virtual Machine)概述 是Google公司自己设计用于Android平台的Java虚拟机 支持已经转化为.dex(及Dalvik Excutable)格式的Ja ...
- websocket简介
在我们做web项目的过程中,经常需要做的一个模块是消息模块.典型的场景:一个商城系统的后台管理,我想实现如果前台有客户下单,后台就会接到消息,以便尽快发货处理. 要实现上述的功能,我们有几种备选的方案 ...
- 《程序设计语言——实践之路【PDF】下载
<程序设计语言--实践之路[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382240 内容简介 <程序设计语言--实践之路(第3版 ...
- 3.更改ssh服务远程登录的配置
- 【java】多线程同步生产者消费者问题
package 多线程; class Producer implements Runnable{ private Data data; public Producer(Data data){ this ...
- JDBC开源框架:DBUtils使用入门
在单元测试过程中,只涉及到数据库的直接操作来验证业务逻辑是否正确的情况,DBUtils非常适合使用.它结构简单,包小,友好处理掉那些jdbc异常,让你更专注于业务代码,而非底层的操作.官网对它的定义: ...
- ios单独的页面支持横竖屏的状态调整,HTML5加载下(更新2)
单独的页面支持横竖屏的状态调整,HTML5加载下 工程中设置只支持竖屏状态,在加载HTML5的界面可以是横竖屏的,在不对工程其他界面/设置做调整的同时,可以这样去 #import "View ...
- Qt---Javascript/Qt交互、脚本化
Qt提供了对Javascript的良好支持, 如果查阅过文档你就知道Qt有两个不同的Js封装引擎: QScriptEngine QJSEngine QScriptEngine出现的比较早(自Qt4.3 ...
- ReactNative布局样式总结
flex number 用于设置或检索弹性盒模型对象的子元素如何分配空间 flexDirection enum('row', 'row-reverse' ,'column','column-rever ...
- NET Framework 版本和依赖关系
原文:https://docs.microsoft.com/zh-cn/dotnet/framework/migration-guide/versions-and-dependencies 每个版本的 ...