2012-05-28 94 views
13

我的應用程序用於安全目的。因此,從我的應用程序中,用戶可以捕獲所有照片存儲在文件夾中不應從任何其他應用程序訪問的文件夾中的照片,並且在設備連接到計算機系統時不應該提供訪問權限。如果用戶想要查看這些圖像,他應該只能從我的應用程序訪問。如何在SD卡中創建私人文件夾

+1

使用Mode.PRIVATE –

回答

2

唯一的辦法,AFAIK是您存儲的文件encrypt。沒有辦法阻止用戶掛載SD卡來訪問存儲在其中的每個文件。

+0

對不起,我沒有得到你可以請描述..... –

+0

只需使用rsa/dsa(它最適合你的用途)加密你的圖像時,當用戶存儲圖像和解密時,當他想要顯示。 – Blackbelt

+0

看看這裏:http://stackoverflow.com/questions/4526612/encryption-of-image-files-on-android-cipheroutputinputstream-problems – Blackbelt

0

它不可能當設備連接到PC時,不允許訪問該文件夾。另外,它也不可能在SD卡上, 但是,對於只能從應用程序打開的圖像,您可以使用不同格式,也可以加密圖像。 或者,如果您想隱藏圖片以將其顯示在圖庫中,則可以在文件夾中放置一個名稱爲「.nomedia」的空白文件。 但不可能的原因,如果你閱讀有關WRITE_EXTERNEL_STORAGE權限的文檔,你會明白我在說什麼。 :)

7

根據此guide,您可以直接在設備的內部存儲器上保存文件。默認情況下,保存到內部存儲的文件對於您的應用程序是私人的,其他應用程序無法訪問它們(用戶也無法訪問)。當用戶卸載您的應用程序時,這些文件將被刪除。 例如:

String FILENAME = "hello_file"; 
String string = "hello world!"; 
FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE); 
fos.write(string.getBytes()); 
fos.close(); 

MODE_PRIVATE將創建文件(或替換同名文件),並使其私人您的應用程序。其他可用的模式有:MODE_APPEND,MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE。

+0

用戶可以保存許多圖像如果所有圖像存儲在內存中,內存可能不足。 –