Android服务需要onStop()方法停止运行工作线程
我有这个问题。我一直在四处寻找答案,但令我惊讶的是,我找不到任何好的答案 我有一个服务,当调用Android服务需要onStop()方法停止运行工作线程,android,service,callback,Android,Service,Callback,我有这个问题。我一直在四处寻找答案,但令我惊讶的是,我找不到任何好的答案 我有一个服务,当调用startService()时,它会在onStartCommand()中启动一个新的工作线程。现在我想在调用stopService()时关闭服务中的工作线程,但是没有onStop()方法onDestroy()也不会被调用。有人说我需要使用带有一些特殊参数的onStartCommand()来停止我的服务,但这似乎完全是倒退 一劳永逸:为什么服务类中没有onStop()方法 如何关闭驻留在服务类中的工作线程
startService()
时,它会在onStartCommand()
中启动一个新的工作线程。现在我想在调用stopService()
时关闭服务中的工作线程,但是没有onStop()
方法<代码>onDestroy()也不会被调用。有人说我需要使用带有一些特殊参数的onStartCommand()
来停止我的服务,但这似乎完全是倒退
一劳永逸:为什么服务类中没有onStop()
方法
如何关闭驻留在服务类中的工作线程
还有:
stopService(intent-intent)
中的意图在哪里?我能抓住它吗?最简单的方法是绑定到服务
——这样你就可以直接调用方法。我仍然不明白为什么我需要绑定服务。“我仍然不明白为什么我需要绑定服务。”因为你需要控制它。辅助线程不是标准服务
类的固有部分,因此它是您添加的“额外”方面。为了澄清,我怀疑服务类没有onStop()
方法,因为多个应用程序组件可以调用startService
或绑定到它以使用它-如果onStop()
可用并基本上关闭它的操作,它会破坏其他应用程序组件的功能。此外,onDestroy()
不会立即调用,因为服务
应用程序组件是通用Android组件中最长的多用途组件。如果它立即被销毁,而另一个组件(例如,活动
)想要立即使用它,那么销毁->重新创建可能会涉及大量开销。绑定不需要很多工作,可能需要十几行额外的代码,它会给您绝对的控制权。unbindService(serviceConnection)如何知道要从哪个服务中解除绑定?我的意思是serviceConnection不包含信息(!?),一个活动只能同时绑定到一个服务吗?