我在Android上使用Network Service Discover (NSD)在设备上通告REST服务器。我的REST服务器包装在android.app.Service的一个实例中。
在onCreate
中,我成功地启动了REST服务器并注册了我的NSD服务。我可以在网络中的其他设备上看到NSD服务名称(例如,我的服务)。
在我的onDestroy
中,我停止REST Server并取消注册NSD服务。
然而,似乎在开发过程中,当我推送我的应用程序的新实例时(通过Eclipse),不能保证服务的onDestroy
将被调用。这意味着我的服务仍然是播发的,下一次服务启动时,我最终得到了My service (1)、My Service (2)等。
我知道NSD会修改服务名称来创建一个唯一的实例。我的问题是:
onDestroy
被调用?这种情况是否类似于用户安装我的应用程序的更新时可能遇到的情况?也就是说,是否保证在正在运行的应用程序关闭时调用onDestroy
,以便该应用程序的新版本可以在我的应用程序中检测旧注册并将其删除?https://stackoverflow.com/questions/22586686
复制相似问题