2013-05-14 79 views
2

我有一個內部應用程序可以分發給公司的用戶。防止用戶查看/刪除SD卡中的文件

管理員可以將文件放到SD卡中指定文件夾的設備上,但不希望用戶查看/刪除它。實現它的最佳方式/概念是什麼?已經嘗試過研究它,但仍然沒有找到好的解決方案。

+0

手機上有root權限嗎? – jAC 2013-05-14 09:44:41

+0

@JanesAbouChleih不,該公司不會紮根電話。 – Rendy 2013-05-14 09:46:20

+0

@ManishAndroid是嗎? – Rendy 2013-05-14 09:46:50

回答

7

我不確定這甚至是可能的。用戶可以隨時取出SD卡,將其放入讀卡器中並以此方式查看/刪除。如果你的應用程序依賴於阻止訪問SD上的文件,那麼我會說你的設計是有缺陷的。

按照Android文檔,你應該存儲私人數據在內部存儲和存儲在外部存儲公共數據 - 看看在storage options documentation以獲得更多信息。

如果您需要存儲/讀取用戶應該無法訪問的文件,則應將這些文件存儲在應用程序的本地目錄中(通常位於/data/data/your.app.package之下)。在Context上使用openFileInputopenFileOutput方法讀取/寫入這些文件。

+0

是的,我完全同意你的意見。如果沒有可能的解決方案,我會討論t他和公司在一起。 – Rendy 2013-05-14 09:51:57

+0

+1對於_you應該將這些文件存儲在應用程序的本地目錄中_ **,但用戶仍然可以通過設置UI刪除本地目錄中的文件:設置>應用程序> [您的APP]>清除數據。** – ozbek 2013-05-14 09:59:35

+0

@shoerat是的,他們可以,但是它比在SD卡上存儲文件還要安全得多。 – 2013-05-14 11:19:59

1

如果您的應用程序使用某些文件,然後將這些文件放入應用程序的資產文件夾。如果文件存在於SD卡中,則任何人都可以查看和刪除。

+0

該文件可以隨時更改管理員,因此,不能放在資產,因爲需要 – Rendy 2013-05-14 09:47:28

+0

另一種方法是將文件存儲在數據庫中 – 2013-05-14 09:51:24

+0

不能因爲管理員可以隨時更改文件的內容 – Rendy 2013-05-14 09:53:14