卸载应用程序时未清除 LocalStorage - Android 6

Posted

技术标签:

【中文标题】卸载应用程序时未清除 LocalStorage - Android 6【英文标题】:LocalStorage not being cleared on app uninstall - Android 6 【发布时间】:2016-11-30 11:29:45 【问题描述】:

我遇到了一个问题,即当我卸载应用程序(离子应用程序)时本地存储没有被清除。它只发生在我的带有 android 6 的三星 S7 Edge 上(至少是我拥有的唯一带有 Android 6 的设备)。

清除它的唯一方法是通过设备的应用程序管理器清除数据/缓存...

它可以在其他设备上正常工作...由于本地存储实现非常简单,我不知道为什么会发生这种情况...

有什么想法吗?

【问题讨论】:

如果您卸载了该应用程序,它是否仍然存在于应用程序管理器中?因为如果它没有卸载它可能只是你的应用程序的快捷方式 我曾经从设备上卸载了一个应用程序,但它仍然存在于手机的应用程序设置页面中;刚刚从应用程序抽屉中删除。尝试通过 adb 命令卸载应用程序adb uninstall com.package.name 大家好,该应用程序已从应用程序管理器中完全卸载,我通过应用程序管理器和 adb 卸载。重新安装后LocalStorage仍然存在... 那么@ale.m 你找到解决方案了吗?我在 LG G4 上遇到了同样的问题。 【参考方案1】:

Android 6 开启了自动备份功能。

您是否尝试在 manifest.xml 中设置 android:allowBackup="false"android:fullBackupContent="false"

android:allowBackupandroid:fullBackupContent 是应用程序 manifest.xml 中 <application/> 的属性。

在 ionic 2 中,您也可以在平台文件夹下找到它。 如果您不希望备份数据或想要包含或排除某些资源,则可以使用这些属性。

我也在联想 Vibe 手机上苦苦挣扎了很长时间。这样就解决了。

【讨论】:

这到底是在 AndroidManifest.xml 中的什么位置添加的?我将它添加到<application /><manifest /> 部分,然后当我重新编译我的cordova/ionic 应用程序时,XML 被覆盖并删除了上述行。我让我的 LG 手机完全删除数据的唯一一次是将手机置于飞行模式并将应用程序编译到我的手机 - 似乎 Google 每次从头开始加载或重新安装我的应用程序时都会提供备份文件。 在ionic 2 应用程序中,有一个名为platforms 的文件夹。在那里,您将看到您添加的平台的文件夹。在 android 文件夹中,您将看到一个名为 AndroidManifest.xml 的文件。 <application> 已经存在的地方。您必须在此处添加这两个属性。例如。这就是我的AndroidManifest.xml :- <application android:allowBackup="false" android:fullBackupContent="false" android:hardwareAccelerated="true"> Kulkami - 请参阅下面的答案 绝对是在应用安装后。不确定我们是否从设置中手动清除数据。你可以检查一下。我认为它也应该清除数据。 我们如何在 PWA 中实现同样的效果??【参考方案2】:

我在将这些行添加到我的 cordova /progject/platforms/android 文件夹中的 AndroidManifest.xml 时遇到问题 - 每次我这样做时,每次编译应用程序时它都会被覆盖。我必须将以下内容添加到我的 /project/config.xml 文件中才能进行清单编辑:

<edit-config file="AndroidManifest.xml"
             target="/manifest/application"
             mode="merge">
    <application android:allowBackup="false"/>
    <application android:fullBackupContent="false"/>
</edit-config>

【讨论】:

请告诉我要把这段代码放在哪里?我的意思是在哪个标签下? @atishr - 我相信它在 标记内......如果不是,那么它与平台标记处于同一级别。 另一个疑问。如果我设置 android:allowBackup="false" 和 android:fullBackupContent="false" 当我的 localStorage 数据刷新时

以上是关于卸载应用程序时未清除 LocalStorage - Android 6的主要内容,如果未能解决你的问题,请参考以下文章

Chrome 在关闭/退出时未清除 SESSION COOKIES

react中避免内存泄漏的方法

卸载时未删除Windows服务(WIX 3)

即使在应用程序卸载后,Cordova LocalStorage 也会保留数据

如何清除适用于 iOS 平台的 Cordova 应用程序的 localStorage

如何清除localStorage缓存中的value值