Android的Service和IntentService这是两个service,区别在于,IntentService能够自己开子线程执行任务,并且执行完自动销毁service,而Service不能自动开子线程,直接在里面处理任务,如果恰好是耗时任务,可能发生ANR,同时销毁service需要调用stopService才可以。
那么IntentService怎么定义呢?
MyService2.java:
public class MyService2 extends IntentService {/*** Creates an IntentService. Invoked by your subclass\'s constructor.** @param name Used to name the worker thread, important only for debugging.*/public MyService2(String name) {//必须实现super(name);}public MyService2() {//必须要有无参构造,并super(\"MyService2\")调用一个参的构造super(\"MyService2\"); }@Overrideprotected void onHandleIntent(Intent intent) {//写你的耗时任务(需要在子线程中做的)}}
行了,基本的IntentService至少包含上面的结构。
注意:
别忘了IntentService也是service,也需要在AndroidManifest.xml中注册。