Android阻止在清除数据事件上删除脱机数据或数据库[重复]

问题描述 投票:0回答:1

如果网络不可用,请将一些重要信息存储到sqlite数据库并存储在内部存储上。当网络可用时,它将在后台同步到服务器。

但是当用户执行清除数据时,它会删除存储在内部存储上的数据库和文件。因此,我面临着很多数据丢失。

我已经搜索过,如何捕获明确的数据事件和相关的以下问题: -

此外,我无法将该数据存储在外部存储上,因为用户可以使用文件管理器轻松访问该数据,并且可以手动删除它。

所以我的问题是,

  1. 如何防止我的离线数据被删除?
  2. 有没有办法在安全的地方保存离线数据并只通过应用程序访问它?

请为我提出任何可能的解决方案。

提前致谢

android android-sqlite android-file android-settings
1个回答
3
投票

如何防止我的离线数据被删除?

你不能。它是用户的设备,而不是您的设备,因此它不是您的数据 - 它是用户的数据。用户可以做用户想要的事情。

有没有办法在安全的地方保存离线数据并只通过应用程序访问它?

Internal storage阻止用户或其他应用程序直接访问您的文件。它不会阻止用户通过“清除数据”或卸载您的应用程序来删除这些文件。

我们可以为我的应用程序禁用Clear Data事件吗?

并不是的。在某些版本的Android上,you can get control when the user clicks that button。然而:

  • 不要以为所有设备都支持这一点
  • 设备制造商可能会为用户提供其他方法来清除数据
  • 用户仍然可以卸载并重新安装应用程序,这将清除数据
© www.soinside.com 2019 - 2024. All rights reserved.