简介:
基本概念:Service是Android四大组件之一,运行在后台执行耗时操作并且不提供用户界面。其他组件(如Activity)可以通过startService启动该组件,也可以通过bindService启动并绑定该组件进行通信。
使用场景:后台下载文件,播放音乐等。
注意:Service运行在主线程中,它不会创建属于自己的线程,也不是运行在独立的线程中,所以,在使用的时候,需...
分类:
移动开发 时间:
2015-05-16 20:38:44
阅读次数:
177
继上一篇文章,Android – Service的使用,我们来继续看看Service的两种启动方式第一种startService。
运行代码,得知以下几点结论:
我们了解它的启动周期为onCreate->onStartCommand,如图 当退出应用后,后台的Service进程仍然存在,未被销毁
当点击多次startService时,如图我点击了3次,你会发现onCreate方法只创建了一次。 s...
分类:
移动开发 时间:
2015-05-14 18:48:38
阅读次数:
245
Service和act一样,表示可执行程序,单Service是不直接与用户进行交互的,它是一种后台运行组件,如后台数据计算,后台播放音乐等。建立Service有两种方法:一:startService()和stopService()1定义Service类:即在activity通目录下建立一个Servi...
分类:
移动开发 时间:
2015-05-14 11:26:37
阅读次数:
144
1.使用Intent进行异步通讯
在Service任务一旦完成后,就发送广播。开发者只需要实现一个BroadcastReceiver来监听响应既可。
Activity.startService启动intentService,intentService完成任务后sendBroadcast()发送广播,BroadcastReceiver.startActivity()通知Activity操作结果。...
分类:
其他好文 时间:
2015-05-13 21:55:36
阅读次数:
131
对于用Context.startService()启动的service生命周期为onCreate()-onStartCommand()-onDestroy();如果多次用context.startService启动service只会多次执行onStartCommand()方法。根据音乐播放器的特性使用Context.startService()调用在合适不过了。
public class MyM...
分类:
其他好文 时间:
2015-05-11 14:49:06
阅读次数:
109
Service简介1、Service 每个Service必须在manifest中 通过来声明。 可以通过contect.startservice和contect.bindserverice来启动。 和其他的应用组件一样,运行在进程的主线程中。这就是说如果service需要很多耗时或者阻塞的操作,需....
分类:
移动开发 时间:
2015-05-10 23:53:20
阅读次数:
899
IntentService简介:
IntentService是一个通过Context.startService(Intent)启动可以处理异步请求的Service,使用时你只需要继承IntentService和重写其中的onHandleIntent(Intent)方法接收一个Intent对象,该服务会在异步任务完成时自动停止服务.
所有的请求的处理都在IntentService内部工作线程中...
分类:
移动开发 时间:
2015-05-04 22:10:06
阅读次数:
157
IntentService是Service的子类,用来处理异步请求。客户端可以通过startService(Intent)方法将请求的Intent传递请求给IntentService,IntentService会将该Intent加入到队列中,然后对每一个Intent开启一个worker thread...
分类:
其他好文 时间:
2015-04-29 13:09:50
阅读次数:
125
项目开发中有遇到startService与bindService混合使用的情况,发现其对Service生命周期有很大影响,故与各位分享一下。。。
一、正常情况(应该大家都很熟了,简单介绍):
(1)单独使用startService():
onCreate()->onStartCommand()->Service running->onDestroy()->Service shut do...
分类:
其他好文 时间:
2015-04-27 21:56:50
阅读次数:
269
上一篇文章中我们启动service的方法是:startService() intent = new Intent("android.startService");//区分服务类型 Bundle bundle = new Bundle(); bun...
分类:
移动开发 时间:
2015-04-25 14:53:32
阅读次数:
156