2013-04-07 77 views
0

我想從內部存儲器,從/ data/data/[my app]/photo到內部存儲器中的另一個文件夾之間複製文件(從相機應用程序中捕獲的圖像文件)。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 2013-04-07 18:14:31

回答

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卡上,您可以隨時直接訪問這些圖像。

+0

因爲我在過去幾天生病,所以很抱歉遲到的回覆。我試圖使用上面的代碼創建sourcedirectory,但是我的相機意圖無法將文件保存到源目錄中。我需要「chmod 777」才能保存文件。所以,我想我需要檢查我的相機意圖代碼,然後才能對此進行進一步評論。但非常感謝您的幫助。 (如果它有效,我會把它作爲接受的答案) – kwytse 2013-04-11 06:58:10

相關問題