当用户卸载我的应用程序时,我需要能够清除应用程序的内部存储目录。我怎么能这样做?
我正处于构建安全应用程序的测试阶段,该应用程序需要在应用程序首次安装到用户手机时由管理员设置ID。 ID文件不能在外部存储器中,因为我不想要任何篡改。
如果管理员向用户提供了错误的ID,他们将无法通过立即卸载应用来解决此问题。我已经尝试卸载应用程序(并清除缓存等)以清除ID数据。重新安装应用程序后,文件仍然存在,因此无法更改ID号。
我将文件保存到我的应用程序的主内部文件目录中,如果这有帮助的话。
IDFile = new File(context.getFilesDir(),"ID_Data.txt");
答案 0 :(得分:0)
无法删除内部存储空间,应用程序在卸载时无法进行回调,因此无法完成任务。
但它应该适用于外部存储:对外部存储上的文件使用getExternalFilesDir()和/或getExternalCacheDir()(" sdcard")。卸载应用程序时会自动删除这些目录。 (source)
您可以考虑另一种方法 - 使用仅存储在您的代码中的密钥加密应用程序存储的文件,因此只有应用程序才能进行解密,并且在卸载时 - 其余文件将保持加密状态。
删除旧安装的数据(如果已重新安装)
答案 1 :(得分:0)
在清单中将AutoBackup指定为“false”
android:allowBackup="false"
https://developer.android.com/guide/topics/data/autobackup.html