IntentService 串联 按顺序执行(此次任务执行完才执行下一个任务)

来源:互联网 发布:解压iso文件linux命令 编辑:程序博客网 时间:2024/04/30 23:28
IntentService与Service的最大区别就是前者依次执行,执行完当前任务才执行下一个任务,后者并发执行

在IntentService里面不写onCreate方法

MainActivity:

package com.zzw.test1;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.os.SystemClock;public class MainActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        int value[] = new int[2];        for (int i = 1; i <= 20; i++) {            Intent intent = new Intent(this, TestAppIntentService.class);            value[0] = i;            value[1] = 20 - i;            intent.putExtra(Contants.KEY, value);            startService(intent);        }    }    @Override    protected void onDestroy() {        super.onDestroy();        Intent intent = new Intent(this, TestAppIntentService.class);        stopService(intent);    }}


TestAppIntentService:

package com.zzw.test1;import android.app.IntentService;import android.content.Intent;import android.util.Log;import android.widget.Toast;public class TestAppIntentService extends IntentService {    int count = 1;    // 只能写空的构造方法    public TestAppIntentService() {        super("TestAppIntentService");        // TODO Auto-generated constructor stub    }    // 相当于一个线程 不用在里面另外new一个线程    @Override    protected void onHandleIntent(Intent intent) {        Log.d("------", count + "-------开始");        int[] value = intent.getIntArrayExtra(Contants.KEY);        int sum = value[0] * value[1];        Log.d("-------------", value[0] + "*" + value[1] + "=" + sum);        Log.d("------", count + "-------结束");        count++;    }}



0 0
原创粉丝点击