求和跟我算的数不一样(表格求和跟自己算的不一样)
745
2022-05-28
区分外置U盘及TF卡
最近有个项目有内置SD卡同时又保留了USB及sd卡口,由于要计算外置存储设备的空间,尝试了几个方法均不理想最终使用如下方法 可以成功的区分外置设备是U盘还是SD卡。
主要通过如下方法区分U盘及TF卡
@SuppressLint("PrivateApi") private String getStoragePath(Context context, boolean isUsb){ String path=""; StorageManager mStorageManager = (StorageManager) context.getSystemService(Context.STORAGE_SERVICE); Class> volumeInfoClazz; Class> diskInfoClaszz; try { volumeInfoClazz = Class.forName("android.os.storage.VolumeInfo"); diskInfoClaszz = Class.forName("android.os.storage.DiskInfo"); Method StorageManager_getVolumes=Class.forName("android.os.storage.StorageManager").getMethod("getVolumes"); Method VolumeInfo_GetDisk = volumeInfoClazz.getMethod("getDisk"); Method VolumeInfo_GetPath = volumeInfoClazz.getMethod("getPath"); Method DiskInfo_IsUsb = diskInfoClaszz.getMethod("isUsb"); Method DiskInfo_IsSd = diskInfoClaszz.getMethod("isSd"); List