0

我想将内部存储之间的文件(从相机应用程序捕获的图像文件)从 /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");

如果有人给我一些指导,我将不胜感激,因为它困扰了我整个周末。

提前非常感谢!

在此处输入图像描述

4

1 回答 1

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 卡上,您可以随时直接访问这些图像。

于 2013-04-07T19:32:49.173 回答