我想在内部存储器之间复制文件(从相机应用程序捕获的图像文件),从/ 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");
如果有人给我一些方向,我会非常感激,因为它在整个周末都困扰着我。
提前多多感谢!
答案 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卡上,您随时都可以直接访问它们。