2013-04-07 2 views
0

Я хотел бы скопировать файлы (файлы изображений, захваченные из приложения для камеры) между внутренним хранилищем, из/data/data/[my app]/photo в другую папку во внутреннем хранилище.Android - копирование файлов между внутренним хранилищем

Как вы можете видеть на скриншоте ниже, я успешно изменил разрешение обоих каталогов в «777» с помощью кода ниже:

Runtime.getRuntime().exec("su"); 
Runtime.getRuntime().exec("chmod 777 /data/data/[my app]/photo", null, new File("/data/data/[my app]/photo")); 

Итак, я использую подобный код для изменения разрешения для файлов в папке «фото», но ничего не происходит.

Runtime.getRuntime().exec("su"); 
Runtime.getRuntime().exec("chmod 777 /data/data/[my app]/photo/2_20130406_143344"); 

Было бы очень признательно, если бы кто-то дал мне какое-то направление, поскольку это беспокоило меня в течение всего уик-энда.

Большое спасибо!

enter image description here

+0

Приложение камеры не хранит в/data/data/... Вам не нужно возиться с разрешениями типа linux, чтобы скопировать некоторые файлы. – greenapps

ответ

0

При копировании из одного внутреннего места в другое и созданном вашем приложении, вам не нужно дополнительное разрешение. Попробуйте следующие

ContextWrapper wrapper = new ContextWrapper(context); 
File sourceDirectory = wrapper.getDir(SOURCE_FOLDER_NAME, Context.MODE_PRIVATE); 
File destinationDirectory = wrapper.getDir(DESTINATION_FOLDER_NAME, Context.MODE_PRIVATE); 

Теперь использовать рекурсивную функцию для копирования от источника к месту назначения

private boolean copyFiles(sourceDirectory, desitnationDirectory); 

Для, как копировать файлы рекурсивно this.

Изображения камеры хранятся на SD-карте, и вы всегда можете напрямую обращаться к ним в любое время.

+0

извините за поздний ответ, поскольку я болел за последние несколько дней. Я попытался создать sourcedirectory, используя ваш код выше, но мое намерение камеры не может сохранить файл в исходном каталоге. Мне нужно «chmod 777», прежде чем я смогу сохранить файлы. Поэтому, я думаю, мне нужно проверить код намерения моей камеры, прежде чем я могу прокомментировать это. Но большое спасибо за вашу помощь. (и если это сработает, я поставлю это как принятый ответ) – kwytse

Смежные вопросы