2017-09-06 67 views
1

我正在開發一個應用程序以在線下載文件,將它們保存在內部存儲上,並在安裝後讀取它們。此外,我的客戶要求的文件比加密。使用ActivityForResult離線閱讀並刪除加密文件

其實我已經開發了做以下工作版本:

下載過程: 1)下載的內部存儲空間 2文件)創建從原來的一個新的加密文件,並將其保存在內部夾 3)刪除原

打開過程: 1)創建從所述加密的一個解密的文件,並將其保存在內部存儲 2)與正確的觀衆 3打開解密文件)刪除一旦用戶解密文件停止閱讀它。

這是我的問題: 我實際上使用activityForResult和Intent ACTION VIEW從內部存儲打開解密文件。 首先,我不喜歡在ACTION VIEW Intent上使用ActivityForResult,因爲它由外部應用程序處理,其次,如果用戶將應用程序從查看器中離開,則保留解密的文件。

如何從我的解密文件中創建一個臨時文件,在用戶完成讀取後該文件將被銷燬?

下載的文件需要離線閱讀,因此流式傳輸不是一個選項。

+0

您認爲您從這樣做中獲得了什麼安全保障? –

+0

我的客戶需要的唯一規範是:「用戶無法在沒有應用程序幫助的情況下從應用程序文件夾打開文件」,包括案例,當然用戶手機已經紮根。使用我的實際版本時,使用應用程序後保留在應用程序文件夾中的唯一文件是加密文件。 –

+0

爲什麼不將它流式傳輸/複製到設備並立即從服務器上刪除?或者只是安排一項任務在30分鐘內刪除? –

回答

0

編輯:解

唯一的解決辦法是採取意圖的控制,使ActivityForResult可以安全地在這裏使用。因此,觀衆必須在應用程序中執行。如果文件不是普通文件,就像我的情況一樣,你應該開發你自己的閱讀器/閱讀器。這使您可以完全控制您的應用程序正在做什麼以及您的文件何時被刪除。