startId:代表启动服务的次数,由系统生成。
stopSelf(int startId):
在其参数startId跟最后启动该service时生成的ID相等时才会执行停止服务。
stopSelf():直接停止服务。
使用场景:
如果同时有多个服务启动请求发送到onStartCommand(),不应该在处理完一个请求后调用stopSelf();因为在调用此函数销毁service之前,可能service又接收到新的启动请求,如果此时service被销毁,新的请求将得不到处理。此情况应该调用stopSelf(int
startId)。请参见:IntentService
分享到:
相关推荐
以上代码调用了startService方法,Service会持续运行,直到调用stopService()或stopSelf()方法。 还有另一种绑定Service的方式: 1. … 2. ServiceConnection conn = new ServiceConnection() { 3. @Override 4. ...
再开始之前我们还是先介绍下service吧:此处用的是IntentService,至于和常规的service有什么区别呢? 有了Service为什么还要有个IntentService呢? 原因如下: 1)Service默认运行在主线程中,IntentService运行在一个...
service中1需要手动开启子线程2服务开启之后会一直运行,需要手动调用stopService();或者stopSelf(); intentService是一种异步(子线程)、自动停止的服务,这个例子测试IntentService的特征
最近有个项目刚好使用了Service,特别是AIDL远程服务,经过这次项目对Service有了更好的理解,...通过这种方式还有一个好处就是Service可以通过调用 stopSelf 主动退出。 第一次调用bindService 的时候才会回调 onBind
当其他Context对象调用stopSe rvice方法、Service调用自身的stopSelf或stopService方法时才会停止Service的执行 。 通过bindService方法启动。当系统调用bindService方法时,如果该Service未启动 ,则会调用onCreate...
可以的通话开始的时候启动Service 记录当前时间A, 然后stopSelf(); 另外在通话结束的时候再次启动一下Service,再次获得当前时间B, 然后把时间A和B进行比较处理String time = Long.toString(比较后处理的时间) 然后...
安卓复习简述服务的特点及启动方式的分类。特点没有用户界面,其他特性很像Activity比后台Activity优先级高,不会被轻易...通过调用Context.stopService()或者Service.stopSelf()停止Serviceserivce由其他组件启动的