【问题标题】:Removal of shared preference on update of android application through play store updates or auto updates?通过播放商店更新或自动更新删除对更新 android 应用程序的共享偏好?
【发布时间】:2015-02-16 21:55:23
【问题描述】:

当我通过在应用程序代码中实现的弹出更新应用程序时,版本共享首选项的更改仍然存在,但是当使用自动更新或从 Play 商店共享首选项中可用的更新被删除时?

【问题讨论】:

  • 你有什么问题?
  • 只是在句尾添加? 并不构成问题 - 您必须更具体。提供代码示例,描述您的问题以及您目前所做的工作。
  • 当有版本更新时,我试图在我的应用程序中显示弹出窗口,并提供 2 个选项来更新和跳过,因此当用户单击更新时,Play 商店将打开,用户可以更新应用程序并在更新后在重新打开时,由于数据(用户名)保留在共享首选项中,用户自动登录到应用程序,但是当自动登录选项打开以及通过 play-store 中可用的更新进行更新时,这不会发生。
  • 我明白了。问题是当用户卸载(或在您的情况下更新然后重新安装)应用程序时,SharedPreferences 不会持续存在。如果您想在应用程序之外保留即使在卸载后仍然存在的数据,则必须使用外部服务器或服务。
  • 我想知道,通常情况下,通过仅通过 Playstore 更新应用程序并在之前将其卸载,共享偏好应该会持续存在。

标签: android sharedpreferences auto-update


【解决方案1】:

你应该看看SharedPreferencesBackupHelper。 简而言之,它会在您卸载您的应用程序时备份您的 SharedPreference 数据,或者在您想要备份您的 SharedPreferences 时备份您的数据。

此外,this question 还解决了您的具体问题。

要手动请求恢复,请调用requestRestore() 方法。见this for reference

从备份中恢复调用应用程序。数据将恢复 如果应用程序已存储数据,则从当前备份数据集中 那里,或来自上次完整设备设置期间使用的数据集 如果当前备份数据集没有匹配的数据,则操作。如果不 此应用程序的备份数据存在于任一源中,非零 值将被返回。

【讨论】:

  • 是的,您可以根据自己的选择实施 BackupHelper。 @KaranGarg
  • 我发现我们只需要保存数据而不需要恢复,所以当我更新应用程序时我将如何手动调用恢复?
  • @KaranGarg 使用requestRestore() 方法,请参阅我的答案中包含的链接。
  • 要使用此功能,是否需要用户启用备份和重置选项?
  • 我确信这一切都在我提供的链接中得到了解释@Karan Garg
猜你喜欢
  • 1970-01-01
  • 2012-04-29
  • 1970-01-01
  • 2011-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-09
  • 1970-01-01
相关资源
最近更新 更多