【问题标题】:Is it possible to persisit a file after app uninstall with Android 11?是否可以在使用 Android 11 卸载应用程序后保留文件?
【发布时间】:2021-11-01 19:44:47
【问题描述】:

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

似乎由于 Scoped Storage,我仅限于将数据存储到外部或内部存储中的指定应用程序文件夹中。在每种情况下,删除应用程序时都会删除数据。

甚至可以在 Android 11 上持久化文件吗?

【问题讨论】:

  • 当您的应用即将被卸载时,您不会收到通知,因此您必须编写此 XML 文件,因此忽略 Scoped Storage 您必须在安装后的某个时间点编写此文件
  • You do not get notified when your app is about to be uninstalled @tyczj 试试android:hasFragileUserData="true" in application tag of manifest file.
  • @blackapps 显示系统生成的对话框,应用程序本身不会收到通知
  • @tyczj,这并不重要,因为文件已经存在。还有其他可能:stackoverflow.com/questions/69009368/…

标签: android android-11 scoped-storage


【解决方案1】:

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

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

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

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2020-07-04
  • 2014-03-27
  • 2016-06-16
  • 2011-09-06
  • 1970-01-01
  • 2013-09-10
  • 2010-11-16
  • 2015-01-24
相关资源
最近更新 更多