service简括三

service和activity是在同一个线程里面:

直接上代码:

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) {
		Log.i(TAG,"Myservices线程Id"+Thread.currentThread().getId());
		return START_STICKY; //简括一中有介绍
	}
	@Override
	public void onDestroy() {
		// TODO Auto-generated method stub
		super.onDestroy();
	}
}

AndroidManifest.xml文件中配置service:    

     <service android:name="mService"/>

最终log出来在结果在线程id都为1,相等


猜你喜欢

转载自284772894.iteye.com/blog/1731216