2012-11-07 48 views
8

我開發一個Android應用程序,其中將選擇從庫中的一些照片和隱藏起來,如何隱藏相冊,並將其存儲在我的應用程序

我能夠從庫中選擇特定的圖片,並將其存儲在我的應用程序,並從畫廊中刪除它,但一個人可以看到這些圖片,如果他打開我的應用程序文件夾在SD卡,所以我如何存儲他們,即使一個人檢查我的SD卡,那麼他不應該能夠檢測到這些圖片?

+0

u能請告訴我如何ü解決您的問題I M也面臨着同樣的 – user3233280

+0

@ user3233280創建。它可以讓你更進一步。 –

+0

我必須使用共享意圖共享該圖像,那麼我將如何共享加密的圖像? – user3233280

回答

10

唯一可行的方法是自己加密圖像數據並刪除原始文件,只保留應用程序能夠解密文件。

看看How to encrypt file from SD card using AES in Android?看看如何做到這一點。

作爲一個額外的步驟,你也可以使用任意數量的其他答案的隱藏加密文件

+0

可以迴應我,我怎麼能對圖像進行加密? – user3233280

2

如果你想隱藏的文件夾只加 ''作爲文件夾名稱的前綴。

+0

感謝您的答覆,但我擔心的是,即使我創建一個'。 「前綴文件夾,以便該圖片內的圖片將不會在圖庫中可見,另一個人可以探索我的SD卡和查看我的圖片,所以我如何防止?是否有任何代碼片段加密圖像? –

6

如果要防止Gallery顯示應用文件夾中的圖像,可以在該文件夾中放入一個名爲.nomedia的文件。

來源:https://stackoverflow.com/a/6713863/450534

如果你想隱藏在說,一個文件管理器apperaring的文件夾,然後確保你的文件夾有期間開始()。例如,如果該文件夾被稱爲MyFolder文件,應該創建爲.myfolder

來源:https://stackoverflow.com/a/5878270/450534

請注意,用戶可以更改文件管理器的設置來顯示隱藏的文件和文件夾。爲此,沒有解決方案。

+0

感謝您的回覆,但我的android手機中的文件管理器可以顯示'。'前綴的文件夾,所以任何人都可以在該文件夾內看到我的圖片,所以如何使圖片在文件管理器中也看不見? –

+0

@MAHANTESH:正如答案末尾提到的,文件管理器可以根據其設置顯示隱藏的文件夾。在這種情況下,我認爲** Guykun **對你來說是最好的解決方案。 –

+0

是的,我會嘗試加密並將其存儲到我的應用程序文件夾中,並從SD卡中刪除該圖像,但不知道它是否適用於圖像,因爲加密和解密是針對.txt文件的 –

0

使用SD卡的文件夾路徑

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

這將爲您提供最大的安全性,以你的圖片,如果用戶手機的根源並非是這條道路是從各個方面的安全。

+0

感謝您的回覆,在這裏,我們只是創建了很多子文件夾,但我認爲這對探索我的SD卡的人沒有任何影響,最終他將能夠看到我的圖片:( –

1

如果你想防止畫廊進行展示,從您的應用程序的文件夾的圖像,你可以把一個.nomedia文件命名在該文件夾中。

如果您想要隱藏文件夾以避免出現文件管理器,請確保您的文件夾以句點(。)開頭。檢查Guykun答案:例如,如果該文件夾名爲MyFolder中,應該爲.myfolder

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

+0

這就像臨時解決方案,如果用戶更改設置以在文件管理器中顯示隱藏文件,則用戶將能夠查看隱藏的所有圖像,解決此問題的最佳方法是通過加密並隱藏加密文件,所以即使用戶看到隱藏的文件夾,他也不會看到圖像 –

相關問題