在我的Xamarin Android应用程序中,我在Manifest中设置了以下内容:
<application android:allowBackup="false" />
我不得不这样做,因为每次我安装这个应用程序时,它都会在存储一些信息时跟踪sqlite数据库的前一个镜像。在将这一行添加到Manifest之后,每次我重新安装应用程序时,我都有一个干净的数据库可用,因此以前的信息都不会被使用。
但这又产生了另一个问题。我的应用程序上有一个按钮,可以简单地将本地数据库的副本创建到外部存储中。如果我没有在清单中设置allowBackup="false“,这个副本工作得很好,但由于我必须这样做(对于我前面提到的问题),我发现自己不可能有两件事情都工作(即每次安装后的干净数据库和创建数据库副本到外部驱动器的可能性)。
我认为一种可能的解决方法是在清单中保留allowBackup="false“,但在创建数据库副本之前将其更改为"true”。然后,我可以将标志改回"false“。
但是我如何才能做到这一点呢?我在网上没有找到任何关于这个的东西。谢谢。
发布于 2019-12-25 06:20:37
清单的目的是它不能被改变。例如,您可以在这里声明您的应用程序将有权访问哪些内容(直到Android Marshmallow成为做出此类声明的唯一方式)。显然,这些东西在运行时是不能改变的。
此外,备份的目的是在所有情况下恢复,包括你不喜欢的情况(无论是什么原因,这仍然是不清楚的,因为我不明白为什么你的应用程序不能继续使用它在应用程序卸载之前正常工作的数据),所以基本上你不想要备份,你应该将其设置为false。
https://stackoverflow.com/questions/59473405
复制相似问题