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);
}
}
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++;
}
}