Форматировать SD-карту в Android
Все должно быть просто, но, как правило, в Android это не так. Мне нужно отформатировать SD-карту, если пользователь выбирает опцию в моем приложении. Не спрашивайте меня, зачем мне это делать, если оно уже есть в ОС ... не практично, но это требование, которое я должен выполнить. Как вы знаете, есть вариант вНастройки \ Хранение \ Удалить SD-карту, Я посмотрел на исходный код Froyo, и это что-то вроде:
final IMountService service =
IMountService.Stub.asInterface(ServiceManager.getService("mount"));
if (service != null) {
new Thread() {
public void run() {
try {
service.formatVolume(Environment.getExternalStorageDirectory().toString());
} catch (Exception e) {
// Intentionally blank - there's nothing we can do here
Log.w("MediaFormat", "Unable to invoke IMountService.formatMedia()");
}
}
}.start();
} else {
Log.w("MediaFormat", "Unable to locate IMountService");
}
Оно используетandroid.os.storage.IMountService
а такжеandroid.os.ServiceManager
и у меня нет доступа к нему. Итак, как я вижу, я могу рекурсивно искать каждый файл и удалять его, но это было бы «не в моем вкусе» ... или я мог запустить экран с Erase SD card для пользователя.
Любая помощь более чем приветствуется, так как я застрял.