Android 停止绑定服务

Android 停止绑定服务,android,binding,service,Android,Binding,Service,我有一个大型短信应用程序,我正在使用一个服务来处理大多数操作。该应用程序有大约10个不同的活动绑定到该服务以执行不同的操作。每个活动都绑定到onResume中的服务,并在onStop中解除绑定(我也在这里取消引用)。该服务还接收startService命令,以便在应用程序首次打开时启动 我正在尝试实现一个kill开关,这样当从某个数字发送带有某个关键字的文本时,它将关闭应用程序,除了一个单独的活动,并授权服务来侦听重新激活文本 主文本服务也作为前台服务运行,因此它显示在通知栏中。现在,当它获得停

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

我正在尝试实现一个kill开关,这样当从某个数字发送带有某个关键字的文本时,它将关闭应用程序,除了一个单独的活动,并授权服务来侦听重新激活文本

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

该服务似乎从未调用onDestroy()方法。我在这里和其他地方读到,当您使用startService并绑定到该服务时,必须首先确保解除绑定该服务,然后运行stopService。正如我上面所说的,我正在解除绑定到onStop的所有活动中的服务绑定,因此如果这些活动都不可见,就不应该绑定它们。我也在给stopService打电话

似乎服务部门还保留着一些东西,但我不知道是什么。我有6个独立的线程存在于这个服务中,我确保在试图停止它之前销毁它(以及注销sms接收器)


关于如何进一步诊断这个问题,您有什么想法吗?

在“kill switch”上,您是否先解除了服务绑定,然后停止了服务,因为您只在onStop方法中放入了未绑定的代码,结果是打开了一个单独的活动,它根本不绑定到服务。它会停止此活动中的服务,或者至少尝试停止。根据我的说法,您可以停止未与服务绑定的其他活动中的服务。