当我重新安装我的Android应用程序时会发生什么

时间:2011-10-06 10:27:08

标签: android

当我重新安装我的应用程序而不首先删除它时会发生什么?

我正在寻找的是,当我的应用程序当前正在运行时,我重新安装,

不调用Activity.OnDestroy()。

我必须在应用程序关闭之前做一些事情。

2 个答案:

答案 0 :(得分:1)

使用onPause()。根据{{​​3}},onPause()是唯一可以调用保证的方法。后者可能不会调用onStop()onDestroy()

然而,AFAIK没有办法告诉为什么您的应用程序正在暂停(例如重新安装)。检测重新安装的唯一方法是:

  1. 使用this存储应用的版本代码。
  2. 当应用程序启动时,请根据当前版本代码检查存储的版本代码(对后者使用SharedPreferences)。如果存在差异,请在升级应用时执行您需要执行的操作,并覆盖SharedPreferences中的先前版本代码。
  3. 另请注意,这需要版本代码在重新安装之间碰撞。如果您只是使用具有相同版本代码的软件包进行adb install -r,则无法分辨。

答案 1 :(得分:0)

读取生命周期的描述 - onDestroy()不能保证被调用 - 唯一可靠的回调是onPause() - 所以你必须在那里做你的事情。