簡體   English   中英

卸載后清除內部存儲

[英]Clearing Internal Storage Upon Uninstall

用戶卸載我的應用程序時,我需要能夠清除應用程序的內部存儲目錄。 我怎樣才能做到這一點?

我正處於構建安全應用程序的測試階段,該應用程序首次安裝到用戶手機時需要由管理員設置ID。 該ID文件不能位於外部存儲中,因為我不想進行任何篡改。

如果管理員為用戶提供了錯誤的ID,則他們將無法通過立即卸載該應用程序來解決此問題。 我嘗試卸載應用程序(並清除緩存等)以清除ID數據。 重新安裝應用程序后,文件仍然存在,因此無法更改ID號。

如果有幫助,我會將文件保存到應用程序的主內部文件目錄中。

IDFile = new File(context.getFilesDir(),"ID_Data.txt");

無法刪除內部存儲,卸載后應用不會獲得回調,因此它無能為力。

但是它應該適用於外部存儲:對外部存儲(“ sdcard”)上的文件使用getExternalFilesDir()和/或getExternalCacheDir()。 卸載您的應用程序后,這些目錄將自動刪除。 來源

您可以考慮另一種方法-使用僅存儲在代碼中的密鑰來加密應用程序存儲的文件,因此只有該應用程序才能解密,並且在卸載時-其余文件將保持加密狀態。

想法2

刪除舊安裝的數據(如果已重新安裝)

  1. 啟動應用后,檢查是否存在首選項“ first_run”,並且是否為空-使用當前時間創建一個首選項。
  2. 如果已經有了這樣的首選項,則需要檢查它是否是從舊的安裝開始的:檢查實際的安裝時間
  3. 如果您的偏好小於安裝時間:刪除所有舊文件。

在清單中,將“自動備份”指定為“ false”

android:allowBackup="false"

https://developer.android.com/guide/topics/data/autobackup.html

暫無
暫無

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

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