我在Google Play上发布了Android应用。当应用程序第一次启动时(通过在"FirstLaunch"
中存储并检查布尔标志SharedPreferences
来完成),它会启动Service
,每天启动一次(=每次使用AlarmManager
)24小时
为简单起见,我们假设此服务只在到时时显示Toast
"Hello World!"
。
我们假设有一位用户从Google Play下载并安装了我的应用。
我们还假设我已经更改了该服务中的一些代码(例如,将Toast
从"Hello World"
更改为{ {1}})并在Google Play上更新了应用
如果该用户更新了我的应用,该服务是否会每天开始显示新的"Hello Universe!"
文字(Toast
),还是会显示旧版本("Hello Universe"
)?
一般来说,如果我要更改正在运行的服务的代码,我是否需要在我的应用程序中以编程方式重新启动它,或者Android itselft是否会将其代码更改/切换到新版本?
答案 0 :(得分:0)
如果Android更新了您正在使用的应用程序(当然是通过PlayStore),它将被终止。服务也会被终止。因此,如果您的应用的用户收到他们的更新,那么如果您的服务的startmode
为sticky
或者您的应用重启了该服务,他们的服务就会被终止并重新启动。
答案 1 :(得分:0)
Android服务作为应用程序进程的一部分运行,当进程终止时,您的服务也将被终止(如果其启动模式为sticky,它将重新启动,这将重新启动整个过程),因此当用户更新您的服务时应用程序将使用您的新代码启动新流程