2017-06-12 76 views
0

我正在多个手机上测试我的应用。安装应用程序时,应用程序会通过一些基本注册和应用程序初始化来引导用户,然后将其中一些信息写入localstorage。应用程序安装过程会查找特定变量/文件,如果它们不存在或未设置,则会假定进行了全新安装。Android应用没有正确卸载

当应用程序被卸载时,所有本地存储/文件内容应该被清除。除了我正在测试的其中一台设备上,所有情况都是如此。

MotoX works 
Samsung Galaxy S5 works 
iPhone 6 & 7 work 
LG K20 Plus does not work. 

从手机(1卸载该应用后:长按上的应用和移动到垃圾桶(要求卸载),2:然后我进入设置 - >应用,仍然可以看到那里列出的应用程序 - 然后我从那里删除它。)本地存储数据仍然存在。

当我在该LG设备上重新安装应用程序时,它以某种方式仍然看到所有本地存储内容和文件,从而绕过了应用程序的初始化和注册。当应用程序从手机中完全卸载时,该内容实际上并未被删除。

我不确定如何管理这一点,并让我想知道这种情况在不同的手机类型上发生了多少。为什么不卸载应用程序完全卸载应用程序;为什么它会在本地存储中留下一些东西?

应用程序是否有办法知道被卸载并删除/删除额外的内容?应用程序中是否有机制让“卸载程序”完全删除与应用程序相关的所有内容?

回答

0

嗯......经过一番显著的研究,我发现这一点:

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

似乎谷歌正在给我手机中的所有备份的localStorage /文件每次我做了一个新的我的应用程序安装的时间。奇怪的是,这不会发生在我的其他测试手机 - 为什么只是LG?

将上述内容添加到我的cordova/ionic“config.xml”文件后,问题就消失了。对于本地应用程序,上述<application />会直接添加到AndroidManifest.xml文件中。

+0

经过进一步的审查,一个LG手机的“设置 - >备份*重置 - >自动恢复”设置为ON。 '自动恢复:重新安装应用时,恢复备份的设置和数据。此选项未在其他手机上设置。很高兴知道虽然...为了测试目的def需要关闭此功能。但是对于公众的一般应用程序部署,我应该允许还是不允许'android:allowBackup'。必须考虑这一点。 – rolinger