android获取监听SD Card状态的方法
本文实例讲述了android获取监听SD Card状态的方法。分享给大家供大家参考。具体分析如下:
1. 注册StorageEventListener来监听SD卡状态即onStorageStateChanged()方法,当sd卡状态改变时,调用该方法。
public void onStorageStateChanged(String path,String oldState,String newState){
if (newState.equals(Environment.MEDIA_SHARED)) //大容量存储
{
/////////////////
} else if (newState.equals(Environment.MEDIA_REMOVED)) //SD卡被移除
{
////////////////////
}
}
对各状态的判断一般会用到Environment类:
MEDIA_BAD_REMOVAL:表明SDCard 被卸载前己被移除
MEDIA_CHECKING:表明对象正在磁盘检查
MEDIA_MOUNTED:表明sd对象是存在并具有读/写权限
MEDIA_MOUNTED_READ_ONLY:表明对象权限为只读
MEDIA_NOFS:表明对象为空白或正在使用不受支持的文件系统
MEDIA_REMOVED:如果不存在 SDCard 返回
MEDIA_SHARED:如果 SDCard 未安装 ,并通过 USB 大容量存储共享 返回
MEDIA_UNMOUNTABLE:返回 SDCard 不可被安装 如果 SDCard 是存在但不可以被安装
MEDIA_UNMOUNTED:返回 SDCard 已卸掉如果 SDCard 是存在但是没有被安装
2. Environment.getExternalStorageState()直接获取当前SD卡的状态信息。
希望本文所述对大家的Android程序设计有所帮助。
相关推荐
-
Android实现监听电话呼叫状态的方法
本文实例讲述了Android实现监听电话呼叫状态的方法.分享给大家供大家参考.具体如下: 在清单文件AndroidManifest.xml中添加权限: 复制代码 代码如下: <uses-permission android:name="android.permission.READ_PHONE_STATE"/> java代码如下: // 取得电话服务 TelephonyManager telManager = (TelephonyManager) getSystemServ
-
Android中监听软键盘显示状态实现代码
/**监听软键盘状态 * @param activity * @param listener */ public static void addOnSoftKeyBoardVisibleListener(Activity activity, final OnSoftKeyBoardVisibleListener listener) { final View decorView = activity.getWindow().getDecorView(); decorView.getViewTree
-
Android中检查、监听电量和充电状态的方法
当你在更改后台更新频率来减少这些更新对电池寿命的影响时,检查当前电量和充电状态是一个好的开始. 电池寿命通过剩余电量和充电状态来影响应用更新的执行.当用交流电充电时,执行更新操作对设备的影响是微不足道的,所以在大多数案例里,你可以把更新频率调到最快.如果设备不在充电,降低更新频率可以帮助延长电池寿命. 类似的,你可以检查电池剩余电量级别,在电量低时,应该降低更新频率甚至停止更新. 注:此处的更新,指的是类似发送心跳包的动作,或者定时更新内容.并非仅仅指更新应用版本.如果是用户动作,比如翻页刷新,
-
Android 后台发送邮件示例 (收集应用异常信息+Demo代码)
上一次说了如何收集我们已经发布的应用程序的错误信息,方便我们调试完善程序.上次说的收集方法主要是把收集的信息通过Http的post请求把相关的异常信息变成请求参数发送到服务器.这个对做过web开发的人来说,服务端处理是很简单.不过对很多没做个web的人来说却是麻烦事.今天介绍个更简单的方法,我们把异常信息收集后,通过后台发送邮件方法,把相关异常信息发送到我们指定的邮箱里面. 这篇文章是实用性文章,不会涉及太多理论分析.主要是让大家看了以后知道怎么在自己的应用里面添加这个功能. 1.第三方库这次发
-
android 电话状态监听(来电和去电)实现代码
实现手机电话状态的监听,主要依靠两个类:TelephoneManger和PhoneStateListener. TelephonseManger提供了取得手机基本服务的信息的一种方式.因此应用程序可以使用TelephonyManager来探测手机基本服务的情况.应用程序可以注册listener来监听电话状态的改变.我们不能对TelephonyManager进行实例化,只能通过获取服务的形式: Context.getSystemService(Context.TELEPHONY_SERVICE);
-
Android开发中怎样调用系统Email发送邮件(多种调用方式)
我们都知道,在Android中调用其他程序进行相关处理,几乎都是使用的Intent,所以,Email也不例外. 在Android中,调用Email有三种类型的Intent: Intent.ACTION_SENDTO 无附件的发送 Intent.ACTION_SEND 带附件的发送 Intent.ACTION_SEND_MULTIPLE 带有多附件的发送 当然,所谓的调用Email,只是说Email可以接收Intent并做这些事情,可能也有其他的应用程序实现了相关功能,所以在执行的时候,会出现选择
-
Android中监听判断网络连接状态的方法
在无网或网速差的状态下,没必要去连接服务器. 你可以使用 ConnectivityManager 来判断是否连到网络,以及网络类型. 判断是否有网络连接 下面的代码用ConnectivityManager查询是活动网络连接判断是否有Internet连接. 复制代码 代码如下: ConnectivityManager cm = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
-
Android监听手机电话状态与发送邮件通知来电号码的方法(基于PhoneStateListene实现)
本文实例讲述了Android监听手机电话状态与发送邮件通知来电号码的方法.分享给大家供大家参考,具体如下: 在android中可以用PhoneStateListener来聆听手机电话状态(比如待机.通话中.响铃等).本例是通过它来监听手机电话状态,当手机来电时,通过邮件将来电号码发送到用户邮箱的例子.具体程序如下: import android.app.Activity; import android.content.Intent; import android.os.Bundle; impor
-
Android判断和监听底座状态和类型的方法介绍
底座的状态跟充电状态类似,很多底座提供充电功能(座充). 底座状态同样使用sticky Intent广播.可以查询设备是否插入底座,哪种底座. 判断当前底座状态 广播的Action是ACTION_DOCK_EVENT,sticky Intent不需要注册真实的接收器 复制代码 代码如下: IntentFilter ifilter = new IntentFilter(Intent.ACTION_DOCK_EVENT); Intent dockStatus = context.registerRe
-
android音乐播放器监听电话状态实现代码
如下代码是监听电话的状态,代码简单不做介绍直接看代码: 复制代码 代码如下: private boolean mResumeAfterCall = false; private PhoneStateListener mPhoneStateListener = new PhoneStateListener() { @Override public void onCallStateChanged(int state, String incomingNumber) { if (state ==
随机推荐
- 远程SSH连接服务与基本排错经验总结
- 从零开始学JAVA之可变参数
- python实现简单购物商城
- asp.net用url重写URLReWriter实现任意二级域名第1/2页
- 通过抓取淘宝评论为例讲解Python爬取ajax动态生成的数据(经典)
- asp.net运算符之逻辑运算符以及其他运算符介绍与实例
- 解决微信授权回调页面域名只能设置一个的问题
- 从MySQL数据库表中取出随机数据的代码
- 无JS,完全php面向过程数据分页实现代码
- Python的Django框架中settings文件的部署建议
- Python爬虫抓取手机APP的传输数据
- JS 对象(Object)和字符串(String)互转方法
- 在JavaScript中使用inline函数的问题
- 浅析JQuery获取和设置Select选项的常用方法总结
- 在jquery中处理带有命名空间的XML数据
- ASP.NET MVC实现图片上传、图片预览显示
- C#强制类型转换小结
- java编程abstract类和方法详解
- 深入解析vue 源码目录及构建过程分析
- windows10系统安装mysql-8.0.13(zip安装) 的教程详解