android12.0(S) 如何区分U盘和TF卡

news/2024/11/30 18:54:17/

一开始没找到合适的方法,后来看到系统通知栏中直接显示了对应类型,

找到对应代码但在普通app中用不了,那只能上反射大法了

public class SDCardUtil{private static String TAG = "SDCardUtil";public static HashMap getStorageType(Context pContext) {HashMap<String,String> map = new HashMap<>();map.clear();StringBuffer buffer = new StringBuffer();final StorageManager storageManager = (StorageManager) pContext.getSystemService(Context.STORAGE_SERVICE);try {//获取类型是U盘还是SD卡final Method getVolumes = storageManager.getClass().getMethod("getVolumes");final List<Object> invokeVolumes = (List<Object>) getVolumes.invoke(storageManager);final Class<?> volumeInfoClazz = Class.forName("android.os.storage.VolumeInfo");final Method getPath = volumeInfoClazz.getMethod("getPath");final Method getDisk = volumeInfoClazz.getMethod("getDisk");final Class<?> diskInfoClazz = Class.forName("android.os.storage.DiskInfo");final Method getDescription = diskInfoClazz.getMethod("getDescription");for (int i = 0; i < invokeVolumes.size(); i++) {final Object volumeInfo = invokeVolumes.get(i);File invokePath = (File) getPath.invoke(volumeInfo);Log.e(TAG, "invokePath:"+invokePath.getPath());if ("/data".equals(invokePath.getPath()) || "/storage/emulated".equals(invokePath.getPath())) continue;Object invokeDiskInfo = getDisk.invoke(volumeInfo);String description = (String)getDescription.invoke(invokeDiskInfo);Log.e(TAG, "getDescription:"+description);map.put(invokePath.getPath(), description);}return map;}
}

http://www.ppmy.cn/news/455167.html

相关文章

T-flash卡

TranFlash卡&#xff0c;简称T-flash卡或TF卡。TranFLASH卡主要应用在手机上&#xff0c;一般都是随手机附送的&#xff0c;例如摩托罗拉。TF卡可经SD卡转换器后&#xff0c;当SD卡使用。T&#xff0d;Flash卡是体积最小的存储卡&#xff0c;只有手指甲般大小&#xff0c;它使用…

S32K324芯片学习笔记-实时控制系统-eMIOS

文章目录 Enhanced Modular IO Subsystem (eMIOS)eMISO配置通道类型通道配置BCTU Interface 简介功能框图Unified channels (UC)Buffered modesUC control and datapath diagramUC modesGPIO模式SAIC (Single Action Input Capture)模式Single Action Output Capture (SAOC) mo…

tf卡是什么意思

tf卡即是Micro SD卡&#xff0c;由SanDisk公司发明&#xff0c;主要用于移动电话。在Micro SD面市之前&#xff0c;手机制造商都采用嵌入式记忆体&#xff0c;虽然这类模组容易装设&#xff0c;然而有着无法应实际应潮流需求的困扰&#xff0c;容量被限制住了&#xff0c;无法再…

TrashFlash卡是什么

TF Card 是 TrashFlash 卡的缩写&#xff0c;现称为 Micro SD Card&#xff0c;由 SanDisk 公司于 2004 年推出&#xff0c;尺寸接近指甲的微安全数字卡被认为是世界上最小的存储卡。可在 iPod&#xff0c;PDA&#xff0c;智能手机等设备中使用。 32MB MicroSD Card TF Card …

计算机的多用户是什么意思,多用户卡是什么

多用户卡是什么 多用户卡是什么&#xff1f;多用户卡是一种可分配多个串/并行端口供终端连接的设备&#xff0c;每个终端可以通过它与主机进行通讯。使用多用户卡最便捷简单地解决扩展计算机外部设备是数量的方案。它可使计算机方便扩展串口或并口&#xff0c;所以也称为串并口…

虚拟卡是什么?怎样申请虚拟信用卡?

虚拟信用卡在我们生活当中是其实并不少见的&#xff0c;许多人对于这些虚拟信用卡比较好奇&#xff0c;那么虚拟信用卡究竟是什么样的东西&#xff1f;如何才能够申请虚拟卡呢&#xff1f; 虚拟卡简要介绍 信用卡本身是银行提供的一种卡服务&#xff0c;这种服务允许购物者进…

电脑N卡跟A卡是什么,有区别么?

N卡跟A卡都是指的电脑的显卡&#xff0c;只是不同生产厂家的产品&#xff0c;两者区别如下&#xff1a; 一、生产厂家不同 1、N卡&#xff1a;指的是NVIDIA公司开发的显卡产品。 2、A卡&#xff1a;指的是AMD公司开发的显卡产品。 二、架构不同 1、N卡&#xff1a;控制单元…

为什么SD NAND(贴片式T卡)这么多的工程师喜欢用?

这几天&#xff0c;在工程师交流群里&#xff0c;突然出现一款新玩意儿&#xff0c;一款市面上不多的可以替代T卡的一种IC存储芯片。 那么今天就主要分析一下这款SD NAND 芯片的一些知识。 首先什么是SD NAND&#xff1f; 概念&#xff1a;针对嵌入式领域小容量上非常多变的应…