停止绑定服务

时间:2012-06-28 20:50:06

标签: android binding service

我有一个大型短信应用,我正在使用服务来处理大多数操作。该应用程序有大约10个不同的活动,它们绑定到服务以执行不同的操作。每个活动都绑定到onResume中的服务,并且onStop中的取消绑定(我也将此处的引用归零)。该服务还会收到startService命令,以便在应用程序首次打开时启动。

我正在尝试实现一个kill开关,这样当一个文本从一定数量的特定关键字发送时,它会关闭应用程序,除了单独的活动,以及许可服务来监听重新激活文本。

主要短信服务也作为前台服务运行,因此会显示在通知栏中。现在,当它获得停用文本时,它永远不会从通知栏中删除自己。我可以通过运行stopForeground()手动取出它,但这只是从通知栏中取出它。如果应用程序收到激活文本,则服务获取onStartCommand,但不获取onCreate(我将其设置为前台服务的位置)。

该服务也似乎永远不会调用onDestroy()方法。我在这里和其他地方读过,当你使用startService并绑定到服务时,你必须首先确保取消绑定服务,然后运行stopService。正如我上面所说,我在绑定在onStop中的所有活动中解绑服务,因此如果这些活动都不可见,则不应绑定它们。我也在调用stopService。

似乎服务仍然存在某些东西,但我不知道是什么。我有6个单独的线程存在于此服务中,我确保在尝试停止之前销毁(以及取消注册短信接收器)。

有关如何进一步诊断的任何想法?

0 个答案:

没有答案