Android5.x+ 格式化外部存储(u盘, sdcard)的方法
来源:互联网 发布:网一网络加速器官网 编辑:程序博客网 时间:2024/05/16 04:39
首先保证你的应用能够获取system权限:android:sharedUserId="android.uid.system";
然后申请权限:
<uses-permission android:name="android.permission.MASTER_CLEAR"/><uses-permission android:name="android.permission.MOUNT_FORMAT_FILESYSTEMS"/>
调用以下代码完成格式化:
public void diskFormat() { ComponentName formatter = new ComponentName("android", "com.android.internal.os.storage.ExternalStorageFormatter"); Intent intent = new Intent("com.android.internal.os.storage.FORMAT_ONLY"); // ExternalStorageFormatter.FORMAT_ONLY intent.setComponent(formatter); Parcelable sv = getStoragePath(mContext); intent.putExtra("storage_volume", sv); // StorageVolume.EXTRA_STORAGE_VOLUME mContext.startService(intent);}// 获取 StorageVolume 对象private Parcelable getStoragePath(Context mContext) { StorageManager mStorageManager = (StorageManager) mContext.getSystemService(Context.STORAGE_SERVICE); Class<?> storageVolumeClazz = null; try { storageVolumeClazz = Class.forName("android.os.storage.StorageVolume"); Method getVolumeList = mStorageManager.getClass().getMethod("getVolumeList"); Method getPath = storageVolumeClazz.getMethod("getPath"); Method isRemovable = storageVolumeClazz.getMethod("isRemovable"); Object result = getVolumeList.invoke(mStorageManager); final int length = Array.getLength(result); for (int i = 0; i < length; i++) { Object storageVolumeElement = Array.get(result, i); String path = (String) getPath.invoke(storageVolumeElement); boolean removable = (Boolean) isRemovable.invoke(storageVolumeElement); if (removable && path.equals(mPreferUsbPath)) { return (Parcelable) storageVolumeElement; } } } catch (Exception e) { e.printStackTrace(); } return null;}
mPreferUsbPath是你需要格式化的外部存储路径,按实际替换即可。
一般MountService会默认将外部存储格式化为 EXT3 文件系统格式,当然根据定制ROM配置文件的不同也可能为其他格式。
阅读全文
1 1
- Android5.x+ 格式化外部存储(u盘, sdcard)的方法
- Android5中存储方式之文件外部存储SDCard存储
- Android5.1系统外部存储和U盘可写解决方案
- 外部存储之SDcard
- 扫描Sdcard(外部存储)下所有文件的工具方法
- 安卓获取机身内存和外部sdCard的方法及存储大小
- 判断外部存储是SD卡还是u盘的方法
- 【恢复格式化U盘数据的方法】
- Ubuntu下基于格式化命令 格式化U盘的方法
- Ubuntu下格式化U盘的方法(基于格式化命令)
- 获取外部sdcard存储路径
- 文件管理 内部存储 外部存储 Sdcard
- U盘格式化之后的文件找回方法
- SDCard的数据存储
- linux下格式化U盘方法
- Android学习笔记之数据的Sdcard存储方法及操作sdcard的工具类
- Android监听外部存储设备的状态(SD卡、U盘等等)
- Android监听外部存储设备的状态(SD卡、U盘等等)
- STM8->EXTI
- Linux中yum命令镜像源出错解决方案
- Android开源项目及资源查速表
- 数据结构探险——图篇
- 文章标题
- Android5.x+ 格式化外部存储(u盘, sdcard)的方法
- LeetCode 551:Student Attendance Record I (c++)
- Android-NFC模块学习(1)
- 【面试题】剑指offer13--在O(1)时间删除链表结点
- ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine(); 空指针异常
- Utils--------工具类
- CentOS6.x 安装 Docker 和 Docker Compose
- css如何让文本框中的输入的文字始终垂直居中
- Wix是什么?