Xamarin Android将清单更改为在运行时允许allowBackup = true

时间:2019-12-24 21:06:42

标签: xamarin xamarin.forms xamarin.android

在我的Xamarin Android应用中,我已在清单中设置了以下内容:

<application android:allowBackup="false" />

我必须这样做是因为每次我安装该应用程序时,它都会在存储某些信息时跟踪sqlite数据库的先前图像。一种 在将该行添加到清单中之后,每次我重新安装该应用程序时,我都会使用一个干净的数据库,因此以前的信息都不会被使用。

但这会带来另一个问题。我的应用程序上有一个按钮,可以简单地将本地数据库的副本创建到外部存储。 如果我未在清单中设置allowBackup =“ false”,则此副本可以正常工作,但是由于我不得不(针对前面提到的问题),我发现自己位于 无法同时进行这两项工作(即,每次安装后都清洁DB,并且有可能将DB的副本创建到外部驱动器)。

我认为可能的解决方法是在清单中保留allowBackup =“ false”,但在创建数据库副本之前将其更改为“ true”。 然后,我可以将标志更改回“ false”。

但是我该如何实现呢?我还没有在网上找到任何东西。谢谢。

1 个答案:

答案 0 :(得分:0)

清单的目的是不能更改。例如,在此处声明您的应用将有权访问的内容(直到Android Marshmallow,这是进行此类声明的唯一方法)。显然,这种情况在运行时无法更改。

此外,备份的目的是在所有情况下(包括您不喜欢的情况)进行还原(由于种种原因仍不清楚,因为我看不到您的应用为何无法继续处理其数据的原因)在卸载该应用之前已正常运行),因此基本上您不希望备份,而应将其设置为false。