android监听TF卡插拔事件 判断
来源:互联网 发布:空耳yaya的淘宝店 编辑:程序博客网 时间:2024/06/01 08:58
如何通过注册广播获知TF插拔事件:
注册广播:
IntentFilter filter = new IntentFilter(); filter.addAction(Intent.ACTION_MEDIA_EJECT); filter.addAction(Intent.ACTION_MEDIA_MOUNTED); filter.addDataScheme("file"); this.registerReceiver(usbReceiver, filter);
需要添加filter.addDataScheme("file");如何判断TF、USB是否插入以及获取路径:
通过反射获取类 StorageManager 中的 getVolumePaths 方法获取路径。
private StorageManager mStorageManager;
private static String mInterSD; // 内置sd卡
private static String mExternalSD; // 外置sd卡 1
private static String mUSB; // U盘,外置sd卡2
private String[] mPath;
public void getStorageList() {
if (mActivity != null) {
mStorageManager = (StorageManager) mActivity.getSystemService(Activity.STORAGE_SERVICE);
try {
mMethodGetPaths = mStorageManager.getClass().getMethod("getVolumePaths");
mPath = (String[]) mMethodGetPaths.invoke(mStorageManager);
if (mPath.length > 0) {
mInterSD= mPath[0];
}
if (mPath.length > 1) {
mExternalSD= mPath[1];
}
if (mPath.length > 2) {
mUSB= mPath[2];
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
public boolean getExternalStorageState() {
if(TextUtils.isEmpty(EXTERNAL_STORAGE_DIRECTORY)) {
return false;
}
try {
return "mounted".equals(Environment.getStorageState(new File(mExternalSD)));
} catch (Exception rex) {
return false;
}
}
0 0
- android监听TF卡插拔事件 判断
- Android实践 -- 监听外置sdcard(TF卡)的插拔事件
- Android 事件监听
- android 双击事件监听
- Android: 监听解锁事件
- Android 事件监听
- Android摇晃监听事件
- android事件监听机制
- Android.GridView事件监听
- Android 事件监听处理
- Android按钮事件监听
- Android.GridView事件监听
- Android.GridView事件监听
- Android.GridView事件监听
- Android监听事件
- Android 创建事件监听
- Android 动画监听事件
- Android 事件监听处理
- 第39级台阶
- Android Studio的缺点
- 什么是ANR? 如何避免它?
- 解决因HTTPS 证书出错访问不了网页的问题(GitHub为例)
- java源码告诉你哪年二月有几天
- android监听TF卡插拔事件 判断
- 不高效的,通用的java处理思想
- centos6.5安装图像化界面
- Android Studio 快捷键使用总结
- Ajax进行POST提交,Spring MVC整合fastJson
- 欢迎使用CSDN-markdown编辑器
- canvas游戏学习笔记(三)--打砖块
- ubuntu12.04无法安装git的问题
- pyQuery