StorageManager获取U盘挂载状态
StorageManager是Android SDK中管理存储设备的一个类。其中的存储设备分内部存储和外部存储,外部存储可以有SDCard、U盘等其他挂载的外设。
StorageVolume代表的是一个设备信息的数据结构,里面包含了名称、路径、挂载状态等等信息。
以前获取设备列表的方法大多是通过反射获getVolumeList()方法获取到StorageVolume[]数组,但是现在发现完全没有必要的,通过getStorageVolumes()方法便可以获取到StorageVolume的集合。只是在取StorageVolume里面的字段的时候,像Path、ID这些属性的get方法是隐藏的,需要使用反射来获取。示例代码如下:
mStorageManager = getSystemService(StorageManager.class);List<StorageVolume> volumeList = mStorageManager.getStorageVolumes();for (StorageVolume volume : volumeList) {if (null != volume && volume.isRemovable()) {String label = volume.getDescription(this); //这个其实就是U盘的名称String status = volume.getState(); //设备挂载的状态,如:mounted、unmountedboolean isEmulated = volume.isEmulated(); //是否是内部存储设备boolean isRemovable = volume.isRemovable(); //是否是可移除的外部存储设备String mPath=""; //设备的路径try {Class myclass = Class.forName(volume.getClass().getName());Method getPath = myclass.getDeclaredMethod("getPath",null);getPath.setAccessible(true);mPath = (String) getPath.invoke(volume);Log.i(TAG,"name:"+label);Log.i(TAG,"status:"+status);Log.i(TAG,"isEmulated:"+isEmulated);Log.i(TAG,"isRemovable:"+isRemovable);Log.i(TAG,"mPath:"+mPath);} catch (ClassNotFoundException e) {e.printStackTrace();}catch (NoSuchMethodException e) {e.printStackTrace();}catch (InvocationTargetException e) {e.printStackTrace();}catch (IllegalAccessException e) {e.printStackTrace();}}}
StorageManager获取U盘挂载状态相关推荐
- android storagemanager来获取u盘名称,StorageManager获取U盘挂载状态
StorageManager是Android SDK中管理存储设备的一个类.其中的存储设备分内部存储和外部存储,外部存储可以有SDCard.U盘等其他挂载的外设. StorageVolume代表的是一 ...
- android判断sd u盘,[Android Framework]获取U盘 SD 状态
Android 4.4 SD 和 U盘 的状态 通过获取StorageVolume 类来判断 是sd还是U盘.我们来看一下这个类 package android.os.storage; import ...
- Android 监听U盘OTG挂载状态
Android 监听U盘OTG挂载状态 本篇博客介绍下在Android系统中,如何监听和获取U盘OTG挂载状态 在Android中插入U盘时,系统会先准备U盘并检查是否有错误,检查完成后才会把U盘挂载 ...
- android u盘挂载监听,Android SD卡及U盘插拔状态监听及内容读取
本篇是通过系统方法来对sd卡及U盘插拔监听及数据获取,Android盒子端开发,有系统权限,当然,这个比较简单,知道具体方法,可以通过反射来实现. 先贴上效果图: 获取外置存储设备并监听插拔状态 获取 ...
- DevOps: Mountain Duck - 多网盘挂载本地工具
一.Mountain Duck简介 官方网站:https://mountainduck.io/ Mountain Duck 是一款能将多个网盘挂载到本地的工具,像本地磁盘一样使用网盘.软件与系统高度集 ...
- android中通过java的反射机制获取U盘名称
在android项目中实现Windos一样的U盘效果,需监听两个U盘的插入和拔出状态,并屏蔽本地存储,使用U盘来下载和上传文件: 在编辑代码中碰到一个问题:无法获取插入U盘的名称,于是通过java的反 ...
- 获取U盘里面的图片文件
需要开通系统权限android:sharedUserId="android.uid.system" 1.判断U盘是否挂载 const val TYPE_STORAGE_USB = ...
- 28. 文件挂载,卸载,mount,语法选项示例,挂载光盘,挂载分区,挂载u盘,挂载移动硬盘,卸载,fuser等使用和示例
本章详细讲解:文件挂载,卸载,mount,语法选项示例,挂载光盘,挂载分区,挂载u盘,挂载移动硬盘,卸载,fuser的使用和示例 文章目录 mount 语法选项 fstab文件 /etc/fstab文 ...
- python 网盘多帐号_CuteOne:一款基于Python3的OneDrive多网盘挂载程序,带会员/同步等功能...
说明:现在OneDrive挂载目录程序越来越多了,之前水了很多了,包括PyOne.OneIndex.OLAINDEX和OneList,近期又出现了个CuteOne,一个基于Python3的OneDri ...
- Windos系统使用webdav协议将阿里云盘挂载在本地,并实现Notability等支持webdav协议软件的自动备份
主要想方便阿里云盘在本地的备份和使用,在网上参考前辈的教程后摸索出了占用空间小且比较方便的方法,只需要部署好webdav后在本地挂载阿里云盘就可以了,在同一局域网的其他设备可以通过电脑的ip地址访问w ...
最新文章
- 2021-10-7 !二叉树的前序、中序、后序遍历 (递归版本)
- 文件权限及chmod使用方法
- 151. Reverse Words in a String
- 如何写一个pyton模块
- Kali Linux系统设置中文语言环境-1
- python绘制动态心电图_可穿戴设备中测心电图这样功能能达到医用标准吗?未来前景如何?在医用和便携之间是否还有市场?...
- 毕业设计之 --- 基于计算机视觉的身份证识别系统
- Linux - 搭建LDAP统一认证服务
- 华为云计算论述题解析(1)
- bom成本分析模型_BOM成本核算实例
- recovery 调试
- 手把手教你电脑图片转文字怎么操作,助你提高工作效率
- 中国古代美女才女不完全记录
- Qt之自定义QLineEdit
- 计算机书籍推荐 活着,信息朗读者 |《活着》——19级计算机实验班蔺子健
- 多元线性回归分析spss结果解读_SPSS经典线性回归分析之一——线性回归分析
- 计算机睡眠和休眠哪个更好,windows7睡眠与休眠的区别_win7电脑休眠和睡眠哪个好...
- 500套优秀简历模板,送给您!
- 第一章 计算机基础知识【信息学奥赛】
- windows切换窗口,取消edge窗口为多个