public class MyServiceActivity extends Activity {
protected static final String TAG = "MyServiceActivity";
private Button btnStartNormalService;
private Button btnStartIntentService;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btnStartNormalService=(Button)findViewById(R.id.btnStartNormalService);
btnStartIntentService=(Button)findViewById(R.id.btnStartIntentService);
btnStartIntentService.setOnClickListener(listener);
btnStartNormalService.setOnClickListener(listener);
}
private OnClickListener listener=new OnClickListener()
{
@Override
public void onClick(View v)
{
Intent intent;
switch (v.getId())
{
case R.id.btnStartNormalService:
intent=new Intent(MyServiceActivity.this, mService.class);
Log.i(TAG, "主线程ID:"+Thread.currentThread().getId());
startService(intent);
break;
case R.id.btnStartIntentService:
// intent=new Intent(IntentActivity.this, ExampleIntentService.class);
// Log.i(TAG, "主线程ID:"+Thread.currentThread().getId());
// startService(intent);
break;
default:
break;
}
}
};
}
public class mService extends Service {
private static final String TAG = "MyServiceActivity";
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
@Override
public void onCreate() {
super.onCreate();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
new MyThread().start();//start会自动调用myThread中的run方法
return START_STICKY;
}
@Override
public void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
}
private class MyThread extends Thread{
@Override
public void run() {
try {
Thread.sleep(2000);
Log.i(TAG,"Myservices线程Id"+Thread.currentThread().getId());
Log.i(TAG,"正在下载中...");
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
代码唯一不同在就是在service里,现在打印出来在activity和service线程id每次都不一样