Android - 在内部存储之间复制文件

时间:2013-04-07 17:54:37

标签: android file-permissions chmod

我想在内部存储器之间复制文件(从相机应用程序捕获的图像文件),从/ data / data / [我的应用程序] /照片到内部存储器中的另一个文件夹。

正如您在下面的屏幕截图中看到的,我已通过以下代码成功地将两个目录的权限更改为'777':

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

因此,我使用类似的代码来更改“photo”文件夹中文件的权限,但没有任何反应。

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

如果有人给我一些方向,我会非常感激,因为它在整个周末都困扰着我。

提前多多感谢!

enter image description here

1 个答案:

答案 0 :(得分: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卡上,您随时都可以直接访问它们。