android - 我可以以用户无法删除的方式将数据保存到 Android 的内部存储吗?

标签 android file-io storage sharedpreferences

我的理解是,如果我将任何数据保存到 Android 平台的内部存储中,用户可以通过以下方式轻松删除这些数据:设置 -> 应用程序 -> 管理应用程序 ->(选择你的应用程序) ->清除数据

有没有办法以用户无法删除的方式保存数据(或 SharedPreferences)?

最佳答案

您的要求有两个方面。

首先,有没有一种方法可以存储用户无法删除的数据。

不,那是不可能的,也不应该。

其次,有没有一种方法可以将数据存储在管理应用程序时调用“清除数据”时被删除的区域之外。

是的,这是可能的。您需要添加访问 SD 卡的权限,请参阅 here , 和 here .寻找

WRITE_EXTERNAL_STORAGE

有关访问外部存储的完整详细信息,请参阅 here

编辑:

没有办法以用户不可删除的方式保存数据(SharedPreferences),也不应该有。这将是恶意应用程序对手机进行恶意操作的好方法(如果没有别的,填满手机的内部存储并使其失败,没有选择“清除数据”来修复它)。

使用设置中的清除数据选项保存未删除的数据。您唯一的选择是保存到“外部存储”,这被视为“内部 SD 卡”和“外部 SD 卡”。基本上,任何无法通过清除数据删除的地方。

我相信这可以回答您的问题。如果没有,请澄清您想知道的内容,而不是在评论中说“它没有回答我的问题”。告诉我我没有回答的问题,如果有的话,请选择最正确的答案。

关于android - 我可以以用户无法删除的方式将数据保存到 Android 的内部存储吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9788260/

相关文章:

java - 使用从命令行运行的命令在 Java 中使用 exec 进行编译和执行失败

javascript - 在 JavaScript 中访问和存储数据集

android - 在 Android API 29 中使用旧存储

c - 在C中将信息存储到变量中的问题

android - 将动画 .GIF 设置为背景 Android

android - Android Studio构建变体

Android Spring Rest 客户端 "exchange"创建类(406 Not Acceptable )

android - 上传到 Play 商店时,Google 登录不适用于应用

perl - 您如何判断管道打开的进程是否已终止?

c# - 读取 UTF8 文件,问题