Android:永久保存文件(即使在清除数据/卸载后)

Android:永久保存文件(即使在清除数据/卸载后),android,file,storage,sd-card,Android,File,Storage,Sd Card,我想知道是否有办法永久存储少量数据。 永久性是指即使用户清除应用程序数据/卸载应用程序,我也希望数据保持不变。 我知道当用户清除应用程序数据/卸载应用程序时,共享首选项和数据库会被删除 我也知道我可以在SD卡上保存东西,但若设备并没有SD卡怎么办/ SD卡是否已卸载 我认为最好的选择是将数据保存在设备内部内存中,但在清除应用程序数据/卸载应用程序时,是否可以在不删除数据的情况下保存数据 环境。getDataDirectory()至少是一个可以保存文件的目录。它位于内部存储器(/data)上 我使

我想知道是否有办法永久存储少量数据。
永久性是指即使用户清除应用程序数据/卸载应用程序,我也希望数据保持不变。
我知道当用户清除应用程序数据/卸载应用程序时,共享首选项和数据库会被删除

我也知道我可以在SD卡上保存东西,但若设备并没有SD卡怎么办/ SD卡是否已卸载


我认为最好的选择是将数据保存在设备内部内存中,但在清除应用程序数据/卸载应用程序时,是否可以在不删除数据的情况下保存数据

环境。getDataDirectory()
至少是一个可以保存文件的目录。它位于内部存储器(/data)上


我使用它的一个例子是定义服务是否正在运行;我在其中创建了一个.lock文件,并始终检查它是否存在。

您不应该这样做,您不应该在未经用户同意的情况下强制用户在手机上保留数据

无论如何,应用程序数据目录将在卸载后删除,但不会在更新后删除

拥有持久数据的唯一方法是使用SD卡,但同样,用户不希望在卸载应用程序后将数据保存在卡上

或者你可以考虑:

  • 通过某种身份验证将数据存储在远程服务器上以检索数据
  • 使用服务

  • 您不需要root吗?您好,我正在尝试在Environment.getDataDirectory()中创建一个文件,但我得到java.io.IOException:权限被拒绝。我检查了一下,似乎这个目录是不可写的:我在我的android 2.2设备上做了同样的事情,它在没有根权限的情况下工作。有没有其他解决方案可以在我的sdk中实现,而不必强迫我的用户在清单中做任何更改,而不像“数据备份”选项迫使我放弃真正的问题是您需要用持久存储实现什么。如果您是该设备的所有者,并且可以对其进行物理访问,并且该设备是根设备,或者至少可以通过某种方式使
    /system
    分区可写,则可以将所需的文件存储在那里。您还可以通过将持久(始终安装/不可通过GUI卸载)应用程序放在
    /system/app
    目录中,以这种方式拥有该应用程序。