使用 Android 11 卸载应用程序后是否可以保留文件?

Is it possible to persisit a file after app uninstall with Android 11?

我有一个小的 XML 数据文件,其中包含一些许可信息,即使在应用程序卸载后我也想将其保留在设备上。有没有办法用 Android 11 做到这一点?

看来是因为Scoped Storage,我只能将数据存储到外部或内部存储中指定的应用程序文件夹中。在每种情况下,删除应用程序时都会删除数据。

甚至可以在 Android 11 上保留文件吗?

如果文件已经存在并且在卸载时没有尝试创建文件,那么您的选择是有限的而且不是很好。

没有用户交互就无法保存文件。您唯一的选择是使用 Storage Access Framework 来保存文件。这里发生的事情是您必须让用户通过文件选择器意图选择他们想要保存文件的位置。获取 onActivityResult 中的 uri 路径并使用它来保存文件。

除了需要用户干预之外,这还会将您的包含许可信息的文件放在可公开访问的位置,任何人都可以获取它,这可能不是您想要的

如果您想在应用程序卸载后保留文件,那确实是您唯一的选择。

你可以试试这个方法

当应用第一次启动时,调用一个API并在正文中发送deviceId。

如果 deviceId 存在 => 设备是现有设备 => 下载该特定设备中的现有 XML 文件。

else device is new device => 随心所欲