【问题标题】:Android app not properly uninstallingAndroid 应用程序无法正确卸载
【发布时间】:2017-06-12 19:50:57
【问题描述】:

我正在多部手机上测试我的应用。安装应用程序后,应用程序会引导用户完成一些基本注册和应用程序初始化 - 然后将其中一些信息写入本地存储。应用安装过程会查找特定的变量/文件,如果它们不存在或未设置,则假定是新安装。

当应用程序被卸载时,所有本地存储/文件内容都应该被清除。除了我正在测试的设备之一之外,所有设备都是这种情况。

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

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

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

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

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

【问题讨论】:

    标签: android local-storage uninstallation lg


    【解决方案1】:

    嗯...经过一些重要的研究,我发现了这个:

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

    似乎每次我在我的应用上进行全新安装时,Google 都会为我的手机提供所有备份的本地存储/文件。奇怪的是,这在我的其他测试手机上没有发生 - 那为什么只是 LG?

    将上述内容添加到我的cordova/ionic“config.xml”文件后,问题就消失了。对于原生应用,上述&lt;application /&gt; 直接添加到 AndroidManifest.xml 文件中。

    【讨论】:

    • 经过进一步审查,一部 LG 手机的“设置 -> 备份 * 重置 -> 自动恢复”设置为开启。 Automatic Restore: When reinstalling an app, restore backed up settings and data。其他手机未设置此选项。不过很高兴知道...出于测试目的,def需要关闭此功能。但是对于面向公众的一般应用程序部署,我应该允许还是不允许 android:allowBackup 。这件事得考虑清楚。
    • 对新手的另一个注意事项:需要在周围的小部件标签中添加 xmlns:android="schemas.android.com/apk/res/android",如下所述:stackoverflow.com/questions/30527107/…
    猜你喜欢
    • 2011-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-03
    • 2014-09-13
    • 1970-01-01
    • 1970-01-01
    • 2012-04-13
    相关资源
    最近更新 更多