Android:从 Market Place 安装新版本后,后台进程会发生什么情况?
Android: what happens to background process when a new version is installed from the Market Place?
我开发了一个 Android 健康应用程序,它在后台启动一个进程 运行 并监控用户活动,例如步数。如果应用程序被用户关闭,核心传感器监视器会在后台保持 运行。
我即将向市场上传新版本的应用程序。当应用程序更新时,后台服务会发生什么变化?会被杀死吗?
beta 通道上的测试似乎表明后台进程以某种方式处于半死状态(即进程在那里但不工作)。
我应该确保在安装新版本时后台进程停止吗?如果是这样,如何?
谢谢
在更新到新版本时,应用程序被 Android 杀死。这意味着 Android 也会停止所有后台服务,但是一旦应用程序更新完成,服务就会重新启动。
所有进程都被杀死。如果你想让它们重新启动,你必须在后台进程上设置一个带有 android.intent.action.MY_PACKAGE_REPLACED 的意图过滤器。例如,在我的清单文件中,我创建了一个具有以下内容的接收器:
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
</intent-filter>
这将保证此接收器(将重新启动服务)将在重新启动和重新安装程序包后重新启动
我开发了一个 Android 健康应用程序,它在后台启动一个进程 运行 并监控用户活动,例如步数。如果应用程序被用户关闭,核心传感器监视器会在后台保持 运行。 我即将向市场上传新版本的应用程序。当应用程序更新时,后台服务会发生什么变化?会被杀死吗? beta 通道上的测试似乎表明后台进程以某种方式处于半死状态(即进程在那里但不工作)。 我应该确保在安装新版本时后台进程停止吗?如果是这样,如何? 谢谢
在更新到新版本时,应用程序被 Android 杀死。这意味着 Android 也会停止所有后台服务,但是一旦应用程序更新完成,服务就会重新启动。
所有进程都被杀死。如果你想让它们重新启动,你必须在后台进程上设置一个带有 android.intent.action.MY_PACKAGE_REPLACED 的意图过滤器。例如,在我的清单文件中,我创建了一个具有以下内容的接收器:
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
</intent-filter>
这将保证此接收器(将重新启动服务)将在重新启动和重新安装程序包后重新启动