Android - копирование файлов между внутренней памятью

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

Как вы можете видеть на снимке экрана ниже, я успешно изменил разрешение обоих каталогов на «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");

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

Заранее большое спасибо!

введите здесь описание изображения


person kwytse    schedule 07.04.2013    source источник
comment
Приложение камеры не хранится в /data/data/... Вам не нужно возиться с разрешениями типа Linux, чтобы просто скопировать некоторые файлы.   -  person greenapps    schedule 07.04.2013


Ответы (1)


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

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); 

Как рекурсивно копировать файлы это.

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

person minhaz    schedule 07.04.2013
comment
извините за поздний ответ, так как я был болен в последние несколько дней. Я попытался создать исходный каталог, используя приведенный выше код, но моя камера не может сохранить файл в исходном каталоге. Мне нужно chmod 777, прежде чем я смогу сохранить файлы. Итак, я думаю, что мне нужно проверить код намерения моей камеры, прежде чем я смогу прокомментировать это. Но большое спасибо за вашу помощь. (и если это сработает, я поставлю это как принятый ответ) - person kwytse; 11.04.2013