/ / Android - kopiowanie plików między pamięcią wewnętrzną - Android, uprawnienia do pliku, chmod

Android - kopiowanie plików między pamięcią wewnętrzną - Android, uprawnienia do plików, chmod

Chciałbym skopiować pliki (pliki obrazów przechwycone z aplikacji aparatu) między pamięcią wewnętrzną, z / data / data / [moja aplikacja] / zdjęcie do innego folderu w pamięci wewnętrznej.

Jak widać na zrzucie ekranu poniżej, udało mi się zmienić zezwolenie obu katalogów na "777" za pomocą poniższego kodu:

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

Używam więc podobnego kodu, aby zmienić uprawnienia do plików w folderze "photo", ale nic się nie dzieje.

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

Byłbym bardzo wdzięczny, gdyby ktoś wskazał mi kierunek, ponieważ przeszkadza mi to przez cały weekend.

Z góry dziękuję!

wprowadź opis obrazu tutaj

Odpowiedzi:

0 dla odpowiedzi № 1

Jeśli kopiujesz z jednej lokalizacji wewnętrznej do innej i utworzonej przez aplikację, nie potrzebujesz dodatkowych uprawnień. Spróbuj wykonać

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

Teraz użyj funkcji rekursywnej, aby skopiować ze źródła do miejsca docelowego

private boolean copyFiles(sourceDirectory, desitnationDirectory);

Jak, w jaki sposób kopiować pliki rekursywnie to.

Obrazy z aparatu są przechowywane na karcie SD i zawsze możesz uzyskać do nich bezpośredni dostęp w każdej chwili.