Java Stopself()到底是什么意思?什么';终止正在运行的服务的最佳方式是什么?
我是android的初学者,对java没有太多经验 我有一个活动,创建一个Java Stopself()到底是什么意思?什么';终止正在运行的服务的最佳方式是什么?,java,android,service,Java,Android,Service,我是android的初学者,对java没有太多经验 我有一个活动,创建一个报警管理器,并启动指向服务的alarmManager.setRepeating() onCreate中的此服务设置部分唤醒锁以执行代码的整个执行过程(该应用程序用于非用户交互,因此手机始终处于待机状态) 所有这些工作都很完美 有时,服务不应该执行整个代码,而是在退出执行之前退出。因此,我使用了StopSelf,但我有一些疑问: onDestroy服务中的函数具有删除唤醒锁的代码。StopSelf()调用它吗 无论如何,如
报警管理器
,并启动指向服务的alarmManager.setRepeating()
onCreate中的此服务设置部分唤醒锁以执行代码的整个执行过程(该应用程序用于非用户交互,因此手机始终处于待机状态)
所有这些工作都很完美
有时,服务不应该执行整个代码,而是在退出执行之前退出。因此,我使用了StopSelf
,但我有一些疑问:
服务中的函数具有删除唤醒锁的代码。onDestroy
调用它吗StopSelf()
- 无论如何,如果我没有指定任何函数来终止服务,那么在代码执行之后,它何时终止
ondestory()
而不是Stopself()
?
好多了 stopSelf()
在线程完成之前被调用。
调用stopSelf()
时,线程运行到完成
服务在调用stopSelf()
时仍被销毁 您应该调用stopSelf()
停止服务。调用后,Android框架将自动调用onDestroy()
方法
实际上,这些onXXX()方法(前缀“on”意味着这些方法是系统的回调)应该由系统调用,而不是由开发人员调用。
阅读SDK以了解更多详细信息。要回答您的其他问题,服务仅在调用stopSelf()或Context.stopService()时终止
参考:
转到中的服务生命周期:如果服务以前启动过,请停止该服务。在调用stopself后,为什么不在onDestroy中使用logoutput来查看是否执行了该服务?您介意发布一些服务代码吗?那肯定会帮助我们帮助你;)Thanx先生,我现在正在做这件事,但我不在家,所以我无法测试代码…-)我没有发布代码,因为代码太长:-(Thanx朋友,我对这些事情非常无知。但是当服务被破坏时,没有stopself()。(因此,wakelock被删除)Thanx!