Как программно удалить все содержимое SD-карты в Android 2.2

Я хочу программно удалить всю SD-карту пользователя в Android 2.2.

  1. Как это сделать проще всего?

  2. Потребуются ли права root?

  3. Могу ли я просто сделать «rm -rf /mnt/sdcard» или мне нужно сделать рекурсивный цикл?


person Theis Borg    schedule 15.05.2011    source источник


Ответы (2)


  1. Вы можете удалять каталоги с помощью Java. Вы должны сделать это рекурсивно, если они не пусты: http://www.exampledepot.com/egs/java.io/DeleteDir.html

  2. Нет. Все приложения имеют полный доступ RW к внешнему хранилищу.

  3. Да, вы можете выполнять команды оболочки (но вам нужно будет проверить, доступен ли «rm»): Есть ли способ программно запускать команды оболочки на Android?

Проверка доступных команд: Как я могу получить информацию из оболочки о командах, доступных в оболочке Android?

person Peter Knego    schedule 15.05.2011
comment
Идеально! Спасибо за подробный ответ. - person Theis Borg; 15.05.2011

Не запускайте команды оболочки, они не являются частью SDK. Существует большая вероятность того, что ваше приложение сломается на некоторых устройствах, на которых нет выполняемой вами команды оболочки. API файлов Java легко использовать для перебора всех файлов и их удаления.

person hackbod    schedule 15.05.2011