【问题标题】:Files in internal storage "getFilesDir()" are not being deleted when app is uninstalled卸载应用程序时,内部存储“getFilesDir()”中的文件不会被删除
【发布时间】:2020-09-01 18:31:37
【问题描述】:

标题几乎说明了一切。

我在内部存储中使用来自getFilesDir() 的路径创建了文件,其想法是在卸载应用程序时应将其删除。但它们根本没有被删除。

如果我想删除数据,我必须在手机应用程序设置中手动删除,或者使用 Android Studio 中的设备文件资源管理器手动删除文件。这并不理想。

谁能帮忙?

【问题讨论】:

  • 难以置信,因为它们应该在卸载时被删除。你有什么特殊的设备在哪个Android版本下?
  • “如果我想删除数据,我必须在我的手机应用程序设置中手动删除”——你到底是怎么做的?如果您的应用程序已卸载,则“设置”应用程序中没有您的应用程序的位置。如果您担心重新安装后文件似乎仍然存在,请尝试在清单中的<application> 元素上设置android:allowBackup="false"
  • @CommonsWare 我在卸载之前在应用设置中“清除数据”和“清除缓存”。这是我可以删除它们的唯一方法。
  • 请注意其他奇怪的行为。在我手动清除数据并卸载,然后重新安装后,文件重新出现。就像每次我安装时它们都会被推送到手机上。那可能吗?我该如何阻止它? 刚刚看完你的评论。我会试试的
  • @CommonsWare 好用!非常感谢!

标签: java android internal-storage


【解决方案1】:

android:allowBackup 属性可用于<application>,用于控制应用程序的数据是否可以由操作系统自动备份。如果此属性设置为 true 并重新安装应用程序,则会恢复其数据的备份。在开发过程中,这可能会很痛苦。而且,在生产环境中,您和用户都无法控制备份过程。

如果您希望禁用此功能 - 对于 debug 构建或所有构建 - 在相应版本的清单中将 android:allowBackup="false" 设置为 <application>(例如,src/main/ 用于所有构建,src/debug/ 用于 @987654329 @ 构建)。

【讨论】:

    猜你喜欢
    • 2016-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-31
    • 2018-05-29
    • 1970-01-01
    • 1970-01-01
    • 2013-02-20
    相关资源
    最近更新 更多