android - 在更新时在首选项文件中做一些清理

标签 android updates

我想更改首选项文件中的参数名称。我的应用程序的新版本需要新名称。如果已经安装了旧版本,它将创建一个包含旧参数名称的首选项文件。更新后,最新版本将查找新名称,而不是旧名称。因此我需要将旧名称更改为新名称。

一个明显的解决方案是新版本检查首选项文件中的参数名称并在必要时更改它。这可以在 onCreate() 方法中完成。但我更愿意避免每次启动应用程序时都进行检查的负担。如果可以在更新应用程序时只完成一次,那就更好了。

所以我想要的是在更新过程中清理首选项。是否可以在安装过程中运行一些 Java 代码?除了将新应用程序文件复制到旧应用程序文件之外,更新过程还能做些什么吗?如果没有,是否有任何其他方法可以在更新时对首选项文件进行此类更改?请注意,虽然我想更改首选项文件中参数的名称,但我需要保留其

最佳答案

在 API12+ 上,您可以在为操作 Intent.ACTION_MY_PACKAGE_REPLACED 注册的某些 BroadcastReceiver 中执行更新工作 https://developer.android.com/reference/android/content/Intent.html#ACTION_MY_PACKAGE_REPLACED

如果您在那里实现更新,您可以在 API12+ 的 Application.onCreate() 等地方放弃所有更新调用。 因此只有旧手机需要在每次启动时检查更新。

关于android - 在更新时在首选项文件中做一些清理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18573353/

相关文章:

java - 逐帧动画未运行

android - 配置设备所有者和 CosuApp

perl - 如何使用 cpanm 更新 perl 模块

android - 检查 Android 应用程序版本更新

android - java.lang.RuntimeException : Unable to instantiate application

hibernate - 可重复读取和第二次丢失更新问题

Android Location LocationListener 总是调用 onProviderDisabled

java - 如何使静态图像不可共享android

android - 如何在 ViewPager 中添加自定义 View 以进行演练

command-line - 无法更新 ThemeKit, "Access is denied"