`
coolerbaosi
  • 浏览: 728426 次
文章分类
社区版块
存档分类
最新评论

android Service stopSelf(int startId)与stopSelf()的区别

 
阅读更多

startId:代表启动服务的次数,由系统生成。

stopSelf(int startId):

在其参数startId跟最后启动该service时生成的ID相等时才会执行停止服务。

stopSelf():直接停止服务。

使用场景:

如果同时有多个服务启动请求发送到onStartCommand(),不应该在处理完一个请求后调用stopSelf();因为在调用此函数销毁service之前,可能service又接收到新的启动请求,如果此时service被销毁,新的请求将得不到处理。此情况应该调用stopSelf(int startId)。请参见:IntentService


分享到:
评论

相关推荐

    android的服务

    以上代码调用了startService方法,Service会持续运行,直到调用stopService()或stopSelf()方法。 还有另一种绑定Service的方式: 1. … 2. ServiceConnection conn = new ServiceConnection() { 3. @Override 4. ...

    安卓 开启service每分钟执行一次任务 模拟定时 或者定时任务

    再开始之前我们还是先介绍下service吧:此处用的是IntentService,至于和常规的service有什么区别呢? 有了Service为什么还要有个IntentService呢? 原因如下: 1)Service默认运行在主线程中,IntentService运行在一个...

    Android中IntentService的特征

    service中1需要手动开启子线程2服务开启之后会一直运行,需要手动调用stopService();或者stopSelf(); intentService是一种异步(子线程)、自动停止的服务,这个例子测试IntentService的特征

    详解Android Service 使用时的注意事项

    最近有个项目刚好使用了Service,特别是AIDL远程服务,经过这次项目对Service有了更好的理解,...通过这种方式还有一个好处就是Service可以通过调用 stopSelf 主动退出。 第一次调用bindService 的时候才会回调 onBind

    实验四-Android基本组件交互实验.doc

    当其他Context对象调用stopSe rvice方法、Service调用自身的stopSelf或stopService方法时才会停止Service的执行 。 通过bindService方法启动。当系统调用bindService方法时,如果该Service未启动 ,则会调用onCreate...

    Android获取通话时间实例分析

    可以的通话开始的时候启动Service 记录当前时间A, 然后stopSelf(); 另外在通话结束的时候再次启动一下Service,再次获得当前时间B, 然后把时间A和B进行比较处理String time = Long.toString(比较后处理的时间) 然后...

    androidReview:青岛理工大学15级安卓复习知识点

    安卓复习简述服务的特点及启动方式的分类。特点没有用户界面,其他特性很像Activity比后台Activity优先级高,不会被轻易...通过调用Context.stopService()或者Service.stopSelf()停止Serviceserivce由其他组件启动的

Global site tag (gtag.js) - Google Analytics