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盘挂载状态相关推荐

  1. android storagemanager来获取u盘名称,StorageManager获取U盘挂载状态

    StorageManager是Android SDK中管理存储设备的一个类.其中的存储设备分内部存储和外部存储,外部存储可以有SDCard.U盘等其他挂载的外设. StorageVolume代表的是一 ...

  2. android判断sd u盘,[Android Framework]获取U盘 SD 状态

    Android 4.4 SD 和 U盘 的状态 通过获取StorageVolume 类来判断 是sd还是U盘.我们来看一下这个类 package android.os.storage; import ...

  3. Android 监听U盘OTG挂载状态

    Android 监听U盘OTG挂载状态 本篇博客介绍下在Android系统中,如何监听和获取U盘OTG挂载状态 在Android中插入U盘时,系统会先准备U盘并检查是否有错误,检查完成后才会把U盘挂载 ...

  4. android u盘挂载监听,Android SD卡及U盘插拔状态监听及内容读取

    本篇是通过系统方法来对sd卡及U盘插拔监听及数据获取,Android盒子端开发,有系统权限,当然,这个比较简单,知道具体方法,可以通过反射来实现. 先贴上效果图: 获取外置存储设备并监听插拔状态 获取 ...

  5. DevOps: Mountain Duck - 多网盘挂载本地工具

    一.Mountain Duck简介 官方网站:https://mountainduck.io/ Mountain Duck 是一款能将多个网盘挂载到本地的工具,像本地磁盘一样使用网盘.软件与系统高度集 ...

  6. android中通过java的反射机制获取U盘名称

    在android项目中实现Windos一样的U盘效果,需监听两个U盘的插入和拔出状态,并屏蔽本地存储,使用U盘来下载和上传文件: 在编辑代码中碰到一个问题:无法获取插入U盘的名称,于是通过java的反 ...

  7. 获取U盘里面的图片文件

    需要开通系统权限android:sharedUserId="android.uid.system" 1.判断U盘是否挂载 const val TYPE_STORAGE_USB = ...

  8. 28. 文件挂载,卸载,mount,语法选项示例,挂载光盘,挂载分区,挂载u盘,挂载移动硬盘,卸载,fuser等使用和示例

    本章详细讲解:文件挂载,卸载,mount,语法选项示例,挂载光盘,挂载分区,挂载u盘,挂载移动硬盘,卸载,fuser的使用和示例 文章目录 mount 语法选项 fstab文件 /etc/fstab文 ...

  9. python 网盘多帐号_CuteOne:一款基于Python3的OneDrive多网盘挂载程序,带会员/同步等功能...

    说明:现在OneDrive挂载目录程序越来越多了,之前水了很多了,包括PyOne.OneIndex.OLAINDEX和OneList,近期又出现了个CuteOne,一个基于Python3的OneDri ...

  10. Windos系统使用webdav协议将阿里云盘挂载在本地,并实现Notability等支持webdav协议软件的自动备份

    主要想方便阿里云盘在本地的备份和使用,在网上参考前辈的教程后摸索出了占用空间小且比较方便的方法,只需要部署好webdav后在本地挂载阿里云盘就可以了,在同一局域网的其他设备可以通过电脑的ip地址访问w ...

最新文章

  1. 2021-10-7 !二叉树的前序、中序、后序遍历 (递归版本)
  2. 文件权限及chmod使用方法
  3. 151. Reverse Words in a String
  4. 如何写一个pyton模块
  5. Kali Linux系统设置中文语言环境-1
  6. python绘制动态心电图_可穿戴设备中测心电图这样功能能达到医用标准吗?未来前景如何?在医用和便携之间是否还有市场?...
  7. 毕业设计之 --- 基于计算机视觉的身份证识别系统
  8. Linux - 搭建LDAP统一认证服务
  9. 华为云计算论述题解析(1)
  10. bom成本分析模型_BOM成本核算实例
  11. recovery 调试
  12. 手把手教你电脑图片转文字怎么操作,助你提高工作效率
  13. 中国古代美女才女不完全记录
  14. Qt之自定义QLineEdit
  15. 计算机书籍推荐 活着,信息朗读者 |《活着》——19级计算机实验班蔺子健
  16. 多元线性回归分析spss结果解读_SPSS经典线性回归分析之一——线性回归分析
  17. 计算机睡眠和休眠哪个更好,windows7睡眠与休眠的区别_win7电脑休眠和睡眠哪个好...
  18. 500套优秀简历模板,送给您!
  19. 第一章 计算机基础知识【信息学奥赛】
  20. windows切换窗口,取消edge窗口为多个

热门文章

  1. 学习OpenMV(二)I/O教程
  2. uppy JavaScript 文件上传
  3. vdbench数据校验翻译
  4. [培训-无线通信基础-6]:信道编码(分组码、卷积吗、Polar码、LDPC码、Turbo码)
  5. Kettle下载Redisinput插件查询Redis数据
  6. computeshader实现全局光照
  7. 主流百兆交换机芯片介绍
  8. python建模_python建模实例详解
  9. LeetCode详细题解-Java版
  10. oc实时渲染的图如何导出_如何高效学习C4D?看完这篇文章你就知道了!