【问题标题】:SQLite does not erase when uninstalling app卸载应用程序时 SQLite 不会擦除
【发布时间】:2020-06-22 09:51:12
【问题描述】:

我有问题。

我正在使用这个插件:https://github.com/xpbrew/cordova-sqlite-storage

当我卸载应用然后重新安装时,我注意到它仍在加载旧文件。

卸载APP的时候应该删除所有的东西,包括数据库,对吗?

我做错了吗?

我的代码是这样的:

var db;

try {
    document.addEventListener('deviceready', function() {
        db = window.sqlitePlugin.openDatabase({name: 'database.db', location: 'default'}, function(db) {});
    });
    console.log("SQLITE OK");
}catch (err) {
    alert('Erro:' + err);
}

【问题讨论】:

  • 数据库和其他文件由于auto backup而被恢复,请随时阅读并重新配置。
  • @Pawel 只需要使用那条线吗?
  • allowBackup=true 是默认值,禁用它使用“false”,所有首选项/数据库都将被删除。

标签: android sqlite cordova cordova-plugins


【解决方案1】:

对于那些有同样问题的人。在@Pawel 的帮助下跟踪解决方案。

config.xml 文件中,会有一个名为<platform name ="android"> 的标签。把下面的代码放在里面。

<edit-config file="AndroidManifest.xml" mode="merge" target="/manifest/application" xmlns:android="http://schemas.android.com/apk/res/android">
    <application android:allowBackup="false" />
</edit-config>

【讨论】:

    【解决方案2】:

    是的,如果使用 Cordova,您可以通过在 AndroidManifest.xml 文件或 android 平台部分下的 config.xml 文件中将 android:allowBackup 设置为 false 来禁用它。

    还有一点,android 的设计方式是只有在处理调试 apk(未签名)时才会发生这种情况,而不是发布 apk。 在发布的 apk 中,卸载时不会在用户的手机中保留任何备份。 当我说“发布 Apk”时,它是一个签名的 APK。

    【讨论】:

      猜你喜欢
      • 2013-08-31
      • 1970-01-01
      • 1970-01-01
      • 2019-12-02
      • 1970-01-01
      • 2019-03-20
      • 2016-07-09
      • 1970-01-01
      • 2018-12-08
      相关资源
      最近更新 更多