如何通过实施"格式化SD卡"的代码来格式化移动设备内的SD卡?在申请中? 我目前正在使用此代码,但我无法让它工作。
public void wipingSdcard(View view) {
File deleteMatchingFile = new File(Environment
.getExternalStorageDirectory().toString());
try {
File[] filenames = deleteMatchingFile.listFiles();
if (filenames != null && filenames.length > 0) {
for (File tempFile : filenames) {
if (tempFile.isDirectory()) {
wipeDirectory(tempFile.toString());
tempFile.delete();
} else {
tempFile.delete();
}
}
} else {
deleteMatchingFile.delete();
}
} catch (Exception e) {
e.printStackTrace();
}
}
private void wipeDirectory(String name) {
File directoryFile = new File(name);
File[] filenames = directoryFile.listFiles();
if (filenames != null && filenames.length > 0) {
for (File tempFile : filenames) {
if (tempFile.isDirectory()) {
wipeDirectory(tempFile.toString());
tempFile.delete();
} else {
tempFile.delete();
}
}
}
}
我也在使用android:onClick =" wipingSdcard"在我的xml.code中为"格式sd卡"按钮。
我做错了什么?
答案 0 :(得分:1)
实际上,您无法通过删除所有文件和文件夹来格式化SD卡。想象一下,SD卡是未格式化的,你不能只删除里面的文件,因为操作系统不知道它使用的文件系统。
答案 1 :(得分:0)
也包括这些权限。
MOUNT_FORMAT_FILESYSTEMS
MOUNT_UNMOUNT_FILESYSTEMS
答案 2 :(得分:0)
是否 wipeDirectory(tempFile.toString()); 给出正确的参数?
我的意思是,tempFile.toString()与tempFile.getPath()。toString()相同吗? 可能就是这样。