2012-11-07 7 views
8

Zajmuję się tworzeniem aplikacji Android, gdzie będzie wybrać kilka zdjęć z galerii i je ukryć,jak ukryć zdjęcia z galerii i przechowywać go w moim app

jestem w stanie wybrać konkretny obraz z galerii i przechowywać go w mojej aplikacji i usunąć ją z galerii, ale osoba może zobaczyć te zdjęcia, jeśli otworzy mój folder aplikacji w sdcard, więc jak je przechowywać tak, że nawet jeśli dana osoba sprawdza mój sdcard, to nie powinien być w stanie wykryć tych zdjęć ?

+0

może u pls powiedz mi jak u rozwiązany problem I m również stoi sam – user3233280

+0

@ user3233280: sprawdź Guykun odpowiedź. To może zająć trochę więcej. –

+0

Muszę również udostępnić ten obraz za pomocą intencji udostępniania, więc jak udostępnić zaszyfrowane obrazy? – user3233280

Odpowiedz

10

Jedynym bezpiecznym sposobem na to jest zaszyfrowanie danych obrazu samodzielnie i usunięcie oryginalnych plików, pozostawiając tylko aplikacji zdolnej do odszyfrowania plików.

Aby zobaczyć, jak to zrobić, spójrz na numer How to encrypt file from SD card using AES in Android?.

Jako dodatkowy krok, można również korzystać z dowolnej liczby innych odpowiedzi ukryć zaszyfrowanych plików

+0

czy możesz mi odpowiedzieć jak mogę czy szyfrowanie obrazów? – user3233280

2

Jeśli chcesz ukryć folder, po prostu dodaj '' jako przedrostek do nazwy folderu.

+0

Dzięki za odpowiedź, ale martwię się, że nawet jeśli utworzyć ". " prefiksowany folder, aby zdjęcia w tym folderze nie były widoczne w galerii, inna osoba może eksplorować mój sdcard i przeglądać moje zdjęcia, więc jak mogę temu zapobiec? Czy istnieje jakiś fragment kodu do szyfrowania obrazów? –

6

Jeśli chcesz uniemożliwić Galeria wyświetlanie zdjęć z folderu aplikacji, możesz umieścić w tym folderze plik o nazwie .nomedia.

Źródło: https://stackoverflow.com/a/6713863/450534

Jeśli chcesz hide folderze z apperaring powiedzmy, menedżer plików, a następnie zapewnić folder rozpoczyna się okresie (.). Na przykład, jeśli folder jest nazywany myfolder, powinien on zostać utworzony jako .myfolder

Źródło: https://stackoverflow.com/a/5878270/450534

Należy pamiętać, że użytkownik może zmienić ustawienia menedżera plików, aby pokazać ukryte pliki i folder. W tym celu nie ma rozwiązania.

+0

Dzięki za odpowiedź, ale menedżer plików w moim telefonie z Androidem może wyświetlać "." prefiksy folderów, aby każdy mógł zobaczyć moje zdjęcia w tym folderze, więc jak zrobić niewidoczne zdjęcia nawet w menedżerze plików? –

+0

@MAHANTESH: Jak wspomniano na końcu odpowiedzi, menedżerowie plików mogą pokazać ukryty folder zgodnie z ustawieniami. W tych okolicznościach, myślę, że ** Guykun ** ma dla ciebie najlepsze rozwiązanie. –

+0

Tak, spróbuję zaszyfrować i zapisać go w folderze mojej aplikacji i usunąć ten obraz z karty SD, ale nie wiem, czy będzie on działał dla obrazów, czy nie, ponieważ szyfrowanie i odszyfrowywanie jest dla plików .txt –

0

Użyj sd card ścieżkę folderu jako

Environment.getExternalStorageDirectory().toString()+context.getPackageName+"//data//data//"+"(.folderName)"; 

tej zapewni Ci maksimum bezpieczeństwa do swoich zdjęć, jeśli telefon użytkownika nie jest zakorzenione ta ścieżka jest bezpieczny od wszystkich aspektach.

+0

Dzięki za odpowiedź, tutaj właśnie tworzymy wiele podfolderów, ale myślę, że to nie ma znaczenia dla osoby, która odkrywa moją sdcard, w końcu będzie mógł zobaczyć moje zdjęcia :( –

1

Jeśli chcesz zapobiec Galeria wyświetlanie obrazów z katalogu aplikacji, które można umieścić w pliku o nazwie .nomedia w tym folderze.

Jeśli chcesz ukryć folder przed wyświetleniem, powiedzmy Menedżer plików, upewnij się, że folder zaczyna się od kropki (.). Na przykład, jeśli folder jest nazywany MójFolder, powinien on być stworzony jako .myfolder

File sdCard = Environment.getExternalStorageDirectory(); File dir = new File(sdCard.getAbsolutePath() + "/.myFolder" );

+0

To jest tymczasowe rozwiązanie, jeśli użytkownik zmieni ustawienia pokazujące ukryte pliki w menedżerze plików, to użytkownik będzie mógł zobaczyć wszystkie obrazy ukryte, najlepszym sposobem na rozwiązanie tego problemu jest zaszyfrowanie go i przechowywanie zaszyfrowanych plików ukrytych , więc nawet jeśli użytkownik zobaczy ukryty folder, nie będzie mógł zobaczyć obrazów –