Android IntentService

来源:互联网 发布:栈的算法思想 编辑:程序博客网 时间:2024/06/06 14:29
1、相对于Service,IntentService有什么特点?
普通的service ,默认运行在ui main 主线程,Sdk给我们提供的方便的,带有异步处理的service类,异步处理的方法OnHandleIntent(),OnHandleIntent() 处理耗时的操作


2、下面是一段代码演示:
(1)、点击启动IntentService:

startService(new Intent(MainActivity.this, CoreService.class));


(2)、IntentService类CoreService的具体代码:
public class CoreService extends IntentService {


String ex = "";
private Handler mHandler = new Handler() {


public void handleMessage(android.os.Message msg) {
Toast.makeText(CoreService.this, "我是两秒之后的操作,使用的是intentservice", Toast.LENGTH_LONG)
.show();
}
};


public CoreService() {
// 必须定义一个无参数的构造方法,并调用super(name)进行初始化,否则出错。
super("CoreService");
}


@Override
public int onStartCommand(Intent intent, int flags, int startId) {
ex = intent.getStringExtra("start");
return super.onStartCommand(intent, flags, startId);
}


// intentservice是用来做耗时操作的,使用handler可以向handler发送消息
@Override
protected void onHandleIntent(Intent intent) {
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
mHandler.sendEmptyMessage(0);
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}


}
0 0
原创粉丝点击