当前位置: 首页 > 知识库问答 >
问题:

设置“allowBackup=false”清除Android设备中应用程序更新的共享首选项

茅高卓
2023-03-14

我试图在用户更新应用程序时注销他们。对于设置allowBackup=false,它会在应用程序更新时清除共享首选项吗?

提前谢谢你。

共有2个答案

周飞语
2023-03-14

共享首选项不会在更新时被清除。lowBackup对此也没有影响,因为它仅用于新安装。您可以使用SharedPreduce跟踪以前的版本,如果用户不再匹配,则将其注销。

例子:

override fun onCreate(savedInstanceState: Bundle?) {
  super.onCreate(savedInstanceState)
  val sharedPref = getPreferences(Context.MODE_PRIVATE)
  val previousVersion = sharedPref.getInt(VERSION_KEY, -1)
  val currentVersion = BuildConfig.VERSION_CODE
  if (previousVersion != currentVersion) {
    // The app has been updated, sign the user out.
    sharedPref.edit().putInt(VERSION_KEY, currentVersion).apply()
  }
}

companion object {
  private const val VERSION_KEY = "appVersion"
}
姜正初
2023-03-14

否,allowBackup=false仅在安装时禁用备份,不在更新时禁用备份。在您的情况下,您应该将应用程序的最新版本保存在SharedPrefs中,并与当前版本(运行时)进行比较,然后决定是否清除数据

 类似资料:
  • 当我发送FCM消息且应用程序处于后台时,我想清除共享首选项。在方法中,我正在调用一个方法来清除它们。 我得到以下错误: 未处理的异常:MissingPluginException(在channel plugins.flatter.io/shared_首选项上找不到方法getAll的实现)

  • 我正在开发一个应用程序,我在共享偏好中保留布尔标志,以检查当前会话是否处于活动状态。基于此标志,用户将在显示闪屏后导航到主屏幕或登录屏幕。 这运行良好,但我们的一位客户报告说,即使在卸载和重新安装他的应用程序后,他的应用程序仍会让他的用户登录。 他跟随的步骤 安装应用程序 使用有效凭据登录 从设置中卸载应用程序 使用我提供的apk重新安装应用程序 打开应用程序 我认为当我们卸载应用程序时,其数据会

  • 我在我制作的闪屏页面中调用共享首选项 这是我的方法 顺便说一下,我不知道这一行是什么//??这是我的日志 正在执行热重启。。。正在将文件同步到为x86构建的Android SDK设备。。。1776ms内重新启动应用程序。I/flatter(8982):loadingScreen=true E/flatter(8982):[ERROR:flatter/lib/ui/ui\u dart\u state

  • 对于下面的代码,我正在尝试检索共享的首选项,我认为它保存正确,但当我回到登录屏幕时,所有的数据都消失了。我需要它留在我回到这个屏幕上。所以我在个人资料页面上输入姓名、年龄和id到三个单独的行中。然后按下save按钮,然后按下action Bar上的back转到前面的页面。当我回到个人资料页面时,我的信息应该还在那里,但它没有任何帮助?

  • 非常感谢您的光临,我正在为学校开发一个应用程序,我遇到了另一个问题。该应用程序的主要思想是跟踪您的卡路里,我希望它能节省卡路里,所以当应用程序关闭时,它仍然会记住他们。我已经忙了一段时间了,现在尝试使用SavedPreferences,但我总是出现错误。我希望有人能帮我。 } 我可能做了很多明显的愚蠢的事情,但我真的弄不明白。 多谢!

  • 问题内容: Nova在世界上是如何管理的?我实际上是在尝试做完全相同的事情:为用户提供一个按钮,以按清除并选择他们的新默认启动器。 我可以获取默认应用名称并显示它: 这里是 然后我调用系统ResolveActivity, 选择器启动并正常运行,但实际上并未设置或清除任何值。在调试它时,好像我缺少一些额外功能吗?当我调用该方法时,会收到以下日志消息, 当我使用Nova实施时,我看到了所有这些, 我如