2012-11-15 34 views
3

我開發一個Android應用程序,在這裏我下載的PDF文件外部訪問保護文件。 所以我創建了一個名爲NameProject文件,我把所有下載的PDF文件。我可以通過我的應用程序以及其他應用程序(如文件管理器)來訪問此文件。 Android文件系統已打開,因此我需要保護下載的文件不被應用程序本身訪問。從應用程序本身

我可以這樣做嗎?如果是的話,任何想法將不勝感激。

謝謝

回答

1

不是一個android專家在這裏。因此我不知道這些文件在不同的應用程序之間是如何被保護的。但無論如何,如果設備已經紮根,那麼即使那個設備也無所謂。

雖然不是我縱容或實踐,你唯一的一線希望是,安全默默無聞。我的意思是,當您將這些文件放到應用程序文件系統空間中時,請使用加密架構並對文件進行加密。確保你的應用程序中有一個解密算法。在這裏,我假設這些將是隻讀文件,因爲您提到了PDF。如果不是這樣,即,如果最終用戶能夠編輯並保存它們,那麼在你的應用中也將需要加密功能。

我覺得你有我在哪裏,在準備,與此的要點。

  1. 最終用戶啓動應用程序,並選擇了一個文件以顯示
  2. 應用解密該文件到臨時名稱
  3. 一個。 (任選地)用戶編輯並保存該文件
  4. 灣(可選的)應用程序加密文件並將其保存爲原來的名字
  5. 應用刪除臨時的,未加密的文件

根據多麼重要,不能夠應用外部訪問,概念給你,你可能想把這個邏輯包含到另一套針對它們的條件和措施中。

但畢竟,一個確定的頭腦可以最終將找到一種方法來破解它們。特別是如果你將應用程序發佈到野外,即互聯網。在受控制的企業環境部署中,通過公司政策等,您有更好的機會保持較長時間。但最終,這是徒勞的。它會給你一些時間。唯一的問題是多少時間。

希望這有助於

1

下載文件,這應該是沒有根permition無法訪問應用程序內部存儲目錄(/數據/數據/ 包名)。但是,只要有必要的文件,儘可能多的手機有小的內部存儲器。

File appdir = context.getDir("mydir", Context.MODE_PRIVATE); 

File fileWithinAppDir = new File(appdir, "appfile");

+0

檢查它,如果我保存文件中的數據/數據/包,然後我能夠通過文件訪問管理。你檢查了嗎? –

相關問題