2013-04-07 2 views
0

/data/data/[my app]/사진에서 내부 저장소의 다른 폴더로 내부 저장소간에 파일 (카메라 앱에서 캡처 한 이미지 파일)을 복사하고 싶습니다.Android - 내부 저장소간에 파일 복사

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

그래서, 내가 권한을 변경하려면 유사한 코드를 사용 : 아래 촬영 한 화면에서 볼 수 있듯이

, 나는 성공적으로 아래의 코드를 통해 '777'로 두 디렉토리의 권한을 변경 한 "사진"폴더에있는 파일은 있지만 아무 일도 일어나지 않습니다. 그것은 전체 주말 동안 나를 귀찮게 것처럼 누군가가 나에게 약간의 방향을 제시하는 경우

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

당신이 다른 하나 개의 내부 위치에서 복사하여 응용 프로그램에 의해 생성되는 경우 추가 권한이 필요하지 않습니다. 이제 재귀 this 파일을 복사하는 방법 대상

private boolean copyFiles(sourceDirectory, desitnationDirectory); 

, 소스에서 복사 할 재귀 함수를 사용

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

다음보십시오.

카메라 이미지는 SD 카드에 저장되며 언제든지 직접 액세스 할 수 있습니다.

+0

지난 며칠간 아팠기 때문에 늦어서 반갑습니다. 위의 코드를 사용하여 소스 디렉토리를 만들려고했지만 내 카메라 의도가 파일을 소스 디렉토리에 저장할 수 없습니다. 파일을 저장하기 전에 "chmod 777"해야합니다. 그래서, 나는 이것에 대해 더 논평하기 전에 카메라의 의도를 확인해야한다고 생각합니다. 하지만 많은 도움을 주셔서 감사합니다. (그리고 그것이 효과가 있다면 나는 받아 들인 대답으로 그것을 넣을 것이다) – kwytse