- 浏览: 120159 次
- 性别:
- 来自: 广州
文章分类
最新评论
startId:表示启动服务的次数
stopSelf(startId):表示停止startId次的服务,其他次数不停止。一般用于多次启动服务,多次执行onStartCommand(Intent intent, int flags, int startId)的情况;
stopSelf():表示直接停止服务(所有次数)
使用场景:
如果同时有多个服务启动请求发送到onStartCommand(),不应该在处理完一个请求后调用stopSelf();因为在调用此函数销毁service之前,可能service又接收到新的启动请求,如果此时service被销毁,新的请求将得不到处理。此情况应该调用stopSelf(int startId)
发表评论
-
安装/卸载/替换成功广播接收
2016-01-08 11:59 789<receiver android:name=" ... -
ContentProivder
2015-12-09 09:26 485ContentProvider 我们实现了其中的几个方法 ... -
Android获取网络时间
2015-11-19 11:27 11681、实时获取: LocationManager locatio ... -
android animation知识
2015-11-14 11:47 573<?xml version="1.0" ... -
代码中设置android:drawableTop等
2015-11-14 10:42 1008btnAttachment.setCompoundDrawab ... -
自定义View
2015-11-04 15:09 400一般来说,自定义View都会去重写onMeasure()方法, ... -
SimpleOnGestureListener
2015-11-04 12:03 531onScroll()缓慢滑动,手指滑动屏幕的过程中执行; on ... -
设置dialog在底部并宽度全屏显示
2015-11-02 11:53 2282pickerDialog.setContentView(vie ... -
横竖屏切换使用 android:configChanges="orientation|keyboardHidden"无效
2015-10-29 10:51 1772在之前的版本中都是在Manifest文件中设置Activity ... -
Dialog注意点
2015-10-28 17:14 504dialog:setCancelable与setCancele ... -
清除setBackgroundResource的原有值
2015-10-23 16:50 1149setBackgroundResource(0);清除原有的s ... -
接收隐式意图
2015-10-22 11:29 539想接收隐式意图,必须在他们的意图过滤器中配有:android. ... -
严苛模式
2015-10-14 20:25 1372//启用严苛模式,StrictMode可以用于捕捉发生在应用程 ... -
Android使用Animation完成动画保留最后一帧的办法
2015-09-08 10:43 2403在动画效果的xml中,在set标签中加上一条android:f ... -
控件getHeight和getWidth等于0的解决办法
2015-09-07 17:27 1414//监听layoutContainer是否初始化完成 l ... -
Service和Thread的区别?
2015-08-19 13:25 491servie是系统的组件,它由系统进程托管(servicema ... -
避免内存泄露
2015-08-18 19:21 4701、尽量避免在Activity使用static。 2、能使用A ... -
需要context的时候用activity还是application?
2015-08-17 17:02 734需要context的时候用activity还是applicat ... -
谈谈UI中, Padding和Margin有什么区别?
2015-08-10 17:18 1094Padding 文字对边框, margin是控件与控件之间的距 ... -
android服务(Service)
2015-08-10 17:12 659在Service的生命周期中, ...
相关推荐
`stopSelf(startId)`会根据提供的`startId`停止服务,如果`startId`是最后启动服务的请求,那么服务会被彻底销毁。在示例中,可能需要在`DownloadThread`完成下载后调用`stopSelf(startId)`,确保服务在所有任务完成...
但在某些情况下,如果需要提前结束服务,可以调用stopSelf(int startId)方法。 7. **应用场景**: IntentService适合处理耗时且不需要立即返回结果的操作,如网络请求、文件下载、数据库操作等。 综上所述,...
**服务的启动与绑定的区别**: 1. **启动服务**:无需与Service建立连接,服务即使在调用方组件销毁后依然运行,适合执行非交互性的后台任务。 2. **绑定服务**:客户端通过Binder与Service建立连接,可以获取服务的...
stopSelf(startId); ``` 5. `onDestroy()`方法会在服务即将销毁时调用,可以在这里做一些清理工作。 ```java @Override public void onDestroy() { Log.i("test", "服务被销毁"); super.onDestroy(); } ``` 6. `...
Service并不提供用户界面,而是专注于处理任务、播放音乐、与其他应用交互等。本篇文章将深入探讨如何在Android中使用Service。 一、Service的基本概念 Service是Android系统中的一个特殊组件,它可以在后台运行,...
public int onStartCommand(Intent intent, int flags, int startId) { // 执行服务中的任务 Toast.makeText(this, "Service started", Toast.LENGTH_SHORT).show(); return START_STICKY; // 表示当服务被系统...
public int onStartCommand(Intent intent, int flags, int startId) { new Thread(new Runnable() { @Override public void run() { // 在这里执行你的长期任务 } }).start(); return START_STICKY; } ``` ...
在Android应用开发中,`Service` 是一个非常重要的组件,它允许应用程序在后台长时间运行操作,即使用户没有与应用程序交互。本篇文章将深入探讨 `startService()` 方法的使用及其在实际案例中的应用。 ### 一、...
适时使用`stopSelf()`或`stopService()`结束服务。 这个源码例子是学习Android Service的基础,它涵盖了Service的基本用法。在深入学习时,还可以探索更多高级特性,如前台服务、IntentService以及Service的生命...
使用`stopService()`或`stopSelf()`方法可以停止Service。需要注意的是,如果Service是在另一个组件(如Activity)的回调中启动的,那么当这个组件销毁时,Service并不会自动停止,必须显式调用停止方法。 ### 绑定...
在Android应用开发中,Service是四大组件之一,它在后台执行长时间运行的操作,不与用户交互。本篇文章将深入探讨如何使用`startService()`方法来启动Android服务。 Service的启动方式主要有两种:`startService()`...
Service会在后台持续运行,直到`stopService()`或`stopSelf()`被调用。 - **绑定Service**:使用`bindService()`方法,这会连接到Service并调用`onBind()`。Service会在所有绑定组件解绑后自动停止。 为了使...
启动IntentService的方式与其他服务类似,通过Context的startService()方法,并传递一个包含动作(action)的Intent。例如: ```java Intent intent = new Intent(this, TestIntentService.class); intent....
- Service自身可以通过stopSelf()或stopSelfResult(startId)来停止。 5. **Service生命周期**: Service的生命周期包括onCreate(), onStartCommand(), 和onDestroy()三个主要方法。首次启动时,依次调用onCreate...
可以通过stopSelf()或stopService()来停止Service。前者用于Service内部自我停止,后者由启动Service的组件调用。 此外,Android系统会根据内存压力自动停止前台Service,但对后台Service的管理较为宽松。为了确保...
此外,为了优化电池使用和用户体验,记得遵循Android的最佳实践,比如使用`startForeground()`来声明服务正在运行重要的后台任务,以及在合适的时候调用`stopSelf()`或`stopService()`以结束服务。 总之,`wpdem`为...
`onDestroy()` 方法在服务被系统销毁或调用 `stopSelf()` 或 `stopService()` 时触发,是清理资源的好时机。 启动 `Service` 可以通过在Activity中调用 `startService()`: ```java Intent serviceIntent = new ...
public int onStartCommand(Intent intent, int flags, int startId) { // Service 启动时执行的代码 return START_STICKY; } @Override public IBinder onBind(Intent intent) { // Service 绑定时返回的 ...