簡體   English   中英

如何限制對我的Android設備上文件的訪問?

[英]How to limit access to files on my android device?

這個想法就是這樣。

我的應用程序允許用戶聽音樂和觀看來自社交網絡的視頻。 用戶可以將這些文件保存在緩存中,以便能夠離線播放它們。 此數據已保存到SD卡,並且可以由文件管理器等訪問

我想將對這些文件的訪問限制為其他應用程序。 最明顯的解決方案是數據加密。

您能否推薦我一些用於快速文件加密/解密的庫或框架? 非常需要在加載過程中“動態”加密文件。

此過程會太慢並且會占用大量資源嗎?

可能存在其他方法-SD文件系統中的受保護文件夾或類似的東西?

是的,有一種更標准的方法可以做到這一點。

通過在Context上使用openFileInput並設置MODE_PRIVATE標志,您將能夠在應用程序內創建文件甚至文件夾。 而且,這些資源將完全屬於您的應用程序專用。

編輯:

大多數情況下,這些文件將存儲在/data/data/<app_package_name>/files 也就是說,盡管這是特定於實現的,但大部分時間都在電話存儲器上。

關於@Carlos提到文件垃圾郵件的評論,是的,您可以向NAND泛濫多個文件,但是/data在大多數情況下將掛載在專用分區上。 因此,您將在某個時候達到分區的虛擬大小。 請查看此帖子 ,接受的答案提供了有關此內容的更多詳細信息。 簡而言之,這是特定實現的 (取決於制造商)。

如果要繼續使用外部存儲,唯一的選擇是使用加密。 SpongyCastle可以幫助您。 這是BouncyCastle API的Android版本。

除此之外,您還可以將文件移至內部存儲,這在您的情況下可能不可行,因為媒體文件往往很大,並且大多數設備上的內部存儲非常有限。 即使您將它們移至內部存儲,任何具有root用戶權限的用戶都可以訪問它們(或具有root特權的任何應用程序)。

保護文件夾不是一種選擇,因為任何具有訪問外部存儲權限的應用程序都可以使用外部存儲上的任何內容。 您對此無能為力。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM