【问题标题】:SharedPreferences are not being cleared when I uninstall卸载时未清除 SharedPreferences
【发布时间】:2016-02-19 23:55:14
【问题描述】:

好吧,这是一个奇怪的事情,我认为这是不可能的。

因此,自从我使用 Nexus 5X 以来,当我卸载我的应用程序时,SharedPreferences 并没有被清除。

我通过 Android Studio 安装应用程序并进行测试。然后我卸载该应用程序。然后我通过 Android Studio 重新安装应用程序,所有 SharedPreferences 值仍然存在。

除了卸载之外,我还尝试清除数据/缓存。 SharedPreferences 在所有这些尝试中都是持久的。

我在 Nexus 5X 上使用现有的 Android 6.0。我的设备没有root。我没有使用自定义 ROM。我的 Nexus 4 没有这个问题。

任何想法可能导致这种情况?

【问题讨论】:

  • 您可能在清除它们之前设置了这些值。在这种情况下,您可能需要上传您的代码,以便我们找出您的应用出了什么问题。
  • 我的猜测是您没有在应用程序中选择退出自动备份,而是将设备设置为自动将其数据备份到 Google。该数据将在您下次安装应用时自动恢复。

标签: android


【解决方案1】:

这是一个新的棉花糖功能。

在应用清单中的 <application> 对象内添加 android:allowBackup="false" 标记以禁用此行为。

如果android:allowBackup 标签与您正在使用的任何其他库发生冲突,您还应该添加tools:replace="android:allowBackup"

【讨论】:

  • 正是它。我不知道这个功能。从用户的角度来看非常好。当我测试首次运行功能时有点烦人。谢谢!
  • 谢谢,我想知道为什么即使我是第一次安装应用程序也会自动登录。实际上,它的共享偏好已恢复。
  • 完美解决方案
【解决方案2】:

添加到 Mo1989 答案,如果 android:allowBackup="false" 与任何其他库发生冲突,然后在 Androidmanifest.xml 的应用程序标记内使用 tools:replace="android:allowBackup" 来修复错误

【讨论】:

    【解决方案3】:

    如果只是因为测试而您正在测试,那么您也可以运行

    adb shell pm clear [package name] 
    

    这将清除数据。

    【讨论】:

      猜你喜欢
      • 2016-05-03
      • 2022-07-14
      • 1970-01-01
      • 1970-01-01
      • 2016-11-30
      • 1970-01-01
      • 1970-01-01
      • 2022-06-17
      • 1970-01-01
      相关资源
      最近更新 更多