2011年3月10日 星期四

[Android]Service紀錄

1.生命週期,Service的從onCreate()->onStart(int,Bundle)->onDestroy()顯得更為簡單。但是它的onStart是帶參數的,第一個ID可用來標識這個service,第二個參數顯示是用來傳遞資料的了。比較Activity,傳遞資料的Bundle是在onCreate就帶進入的。

2.Service的啟動由Context.startService開始,其實Activity或者Service都是Context的派生類。結束於Context.stopService()或者它自己的stopSelf()。

3.Service還有一個與Activity不一樣的是它可以由另一個Context去綁定一個已存在的Service。就是這個方法Context.bindService(),被綁定的Service要求是已經onCreate了但可以沒有onStart。在Service類中有個抽象方法getBinder()可以得到這個IBinder物件。關於這方面的細節,以後再看,這裏只做個記錄罷。

4.與Service有關的還有一個安全的問題,可以在AndroidManifest.xml中用標籤來聲明一個Service的訪問許可權