Android Environment 类详解
Android应用开发中,常使用Environment类去获取外部存储目录,在访问外部存储之前一定要先判断外部存储是否已经是可使用(已挂载&可使用)状态,
并且需要在AndroidManifest.xml文件中添加外部存储读和写的权限。
根据官方API文档,接下来对android.os.Environment类做详细介绍。
一、Environment类中提供了多个String类型的静态常量用于标识外部存储媒体的状态。
public
static final String MEDIA_BAD_REMOVAL 在解除挂载前存储媒体已经被移除,常量值为“bad_removal”public static final String MEDIA_CHECKING 存储媒体存在并在进行磁盘检查,常量值为“checking”
public
static final String MEDIA_MOUNTED 存储媒体已经挂载,并且挂载点可读/写,常量值为“mounted”public
static final String MEDIA_MOUNTED_READ_ONLY 存储媒体已经挂载,挂载点只读,常量值为“mounted_ro”public static final String MEDIA_NOFS 存储媒体存在,但空白或使用了不支持的文件系统,常量值“nofs”
public
static final String MEDIA_REMOVED 存储媒体不存在即被移除,常量值为“removed”public static final String MEDIA_SHARED 存储媒体正在通过USB共享,常量值为“shared”
public static final String MEDIA_UNMOUNTABLE 存储媒体无法挂载,一种典型状况是文件系统损坏,常量值为“unmountable”
public static final String MEDIA_UNMOUNTED 存储媒体没有挂载,常量值为“unmounted”
public static final String MEDIA_UNKNOWN未知存储状态,例如不支持的存储路径,常量值为“unknown”
public static final String MEDIA_EJECTING
存储媒体正在卸载过程中,常量值为“ejecting”注:以上存储媒体的状态均可通过方法getExternalStorageState()获得。
二、Environment类中的数据域提供了Android标准目录的路径,以static string类型提供。
public static String DIRECTORY_ALARMS 系统提醒铃声(闹铃、警报...)存放的标准目录。
public static String DIRECTORY_DCIM 相机拍摄照片和视频的标准目录。
public
static String DIRECTORY_DOCUMENTS 存放用户文件的标准目录。public static String DIRECTORY_DOWNLOADS 存放用户下载内容的标准目录。
public static String DIRECTORY_MOVIES 电影存放的标准目录。
public static String DIRECTORY_MUSIC 音乐存放的标准目录。
public static String DIRECTORY_NOTIFICATIONS 系统通知铃声存放的标准目录。
public static String DIRECTORY_PICTURES 图片存放的标准目录。
public static String DIRECTORY_PODCASTS 系统广播存放的标准目录。
public static String DIRECTORY_RINGTONES 系统铃声存放的标准目录。
三、构造器(constructor)
public Environment()
四、公有方法(public methods)
public static File getDataDirectory ()
获得user data的目录
public static File getDownloadCacheDirectory ()
获得下载缓存内容的目录
public static File getExternalStorageDirectory ()
获得基本的共享或外部存储器目录。注:可以通过调用getExternalStorageState()方法类判断共享或外部存储器当前状态,从而得知其是否可以被访问。
public static File getExternalStoragePublicDirectory (String type)
获得用于存储特定类型文件的顶层共享或外部存储器目录。
public static String getExternalStorageState ()
获得外部存储器的当前状态。
返回值为 MEDIA_UNKNOWN,MEDIA_REMOVED,MEDIA_UNMOUNTED,MEDIA_CHECKING,MEDIA_NOFS, MEDIA_MOUNTED,MEDIA_MOUNTED_READ_ONLY,MEDIA_SHARED,MEDIA_BAD_REMOVAL,MEDIA_UNMOUNTABLE其中之一。
public static String getExternalStorageState (File path)
获得共享或外部存储器在给定路径的当前状态
public static File getRootDirectory ()
获得存储Android OS内核的系统分区的根目录,退出为只读的。
public static String getStorageState (File path)
API 21中弃用,代替使用getExternalStorageState(File path)
public static boolean isExternalStorageEmulated ()
......
public static boolean isExternalStorageEmulated (File path)
....
public static boolean isExternalStorageRemovable (File path)
判断共享或外部存储媒体在给定的路径是否是可移除的。
return true 如果存储设备可以被移除(eg:SD card)
return false 如果存储设备是内置存储器或其他不可移除的设备
public static boolean isExternalStorageRemovable ()
判断基本的共享或外部存储媒体是否是可移除的。
return true 如果存储设备可以被移除(eg:SD card)
return false 如果存储设备是内置存储器或其他不可移除的设备
Android Environment 类详解的更多相关文章
- Android游戏开发之旅 View类详解
Android游戏开发之旅 View类详解 自定义 View的常用方法: onFinishInflate() 当View中所有的子控件 均被映射成xml后触发 onMeasure(int, int) ...
- Android Studio 插件开发详解二:工具类
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/78112856 本文出自[赵彦军的博客] 在插件开发过程中,我们按照开发一个正式的项 ...
- Android SDK Manager详解
Android基础知识——Android SDK Manager详解 做Android开发时,免不了使用Android SDK Manager,安装需要的sdk版本.buildTools版本等等. ...
- Android中Context详解 ---- 你所不知道的Context(转)
Android中Context详解 ---- 你所不知道的Context(转) 本文出处 :http://b ...
- Android之canvas详解
首先说一下canvas类: Class Overview The Canvas class holds the "draw" calls. To draw something, y ...
- Android Studio 插件开发详解四:填坑
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/78265540 本文出自[赵彦军的博客] 在前面我介绍了插件开发的基本流程 [And ...
- Android Studio 插件开发详解三:翻译插件实战
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/78113868 本文出自[赵彦军的博客] 一:概述 如果不了解插件开发基础的同学可以 ...
- Android Studio 插件开发详解一:入门练手
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/78112003 本文出自[赵彦军的博客] 一:概述 相信大家在使用Android S ...
- URLConnection类详解-转
转-http://www.cnblogs.com/shijiaqi1066/p/3753224.html 1. URLConnection概述 URLConnection是一个抽象类,表示指向URL指 ...
随机推荐
- C++:运算符重载函数之成员运算符重载函数
5.2.3 成员运算符重载函数 在C++中可以把运算符重载函数定义为某个类的成员函数,称之为成员运算符重载函数. 1. 定义成员运算符重载函数的语法形式 (1)在类的内部,定义成员运算符重载函数的格式 ...
- java工具类–自动将数据库表生成javabean
最近和数据库的表打交道挺多的,因为暂时做的是接口活. 在这过程中发现要把表转换成对应的javabean类型,字段少的表还行,如果不小心碰到几十个字段的他妈的写起来就有点麻烦了,万一碰到几百个的呢,那不 ...
- 虚函数(virtual)为啥不能是static
静态成员函数,可以不通过对象来调用,即没有隐藏的this指针. virtual函数一定要通过对象来调用,即有隐藏的this指针. static成员没有this指针是关键!static function ...
- Java API —— Map接口
1.Map接口概述 · 将键映射到值的对象 · 一个映射不能包含重复的键 · 每个键最多只能映射到一个值 2.Map接口和Collection接口的 ...
- BZOJ 1004 Cards(Burnside引理+DP)
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1004 题意:三种颜色的扑克牌各有Sr,Sb,Sg张.给出m种置换.两种染色方案在某种置换 ...
- css控制UL LI 的样式详解
用<ul>设置导航 <style> #menu ul {list-style:none;margin:0px;} #menu ul li {float:left;} </ ...
- What's New for Visual C# 6.0
https://msdn.microsoft.com/en-us/library/hh156499.aspx nameof You can get the unqualified string nam ...
- linux下对符合条件的文件大小做汇总统计的简单命令
(1)统计当前目录下的 *txt 文件du -c -h *txt (2)统计当前目录下的 *txt 文件, 并求出总大小du *txt |awk 'BEGIN{count=0;size=0;} ...
- android中最先被执行的activity
像C.C++.JAVA都有一个主函数作为程序的入口点,但是Android中并没有一个明确的主窗口,那么在有多个Activity的情况下,最先被执行的是哪个呢?这完全取决于配置文件AndroidMain ...
- 定制IE浏览器的尖兵利器 - BHO
IE浏览器是当前使用人数最广的浏览器, 本文主要来讲述如何来打造我们自己特色的浏览器, 自定义工具栏按钮, 自定义网页的右击菜单, BHO技术与IE浏览器. 本文写作过程中参考不少网络上的相关资料, ...