標籤:
Service是Android中四大組件之一,在Android開發中起到非常重要的作用,是一個沒有使用者介面的在後台運行執行耗時操作的應用組件。
通過startService()啟動的服務處於“啟動的”狀態,一旦啟動,service就在後台運行,即使啟動它的組建被銷毀,它還是處於運行狀態。
service可以在很多場合的應用中使用,比如播放多媒體的時候使用者啟動了其他Activity這個時候程式要在後台繼續播放,比如檢測SD卡上檔案的變化,再或者在後台記錄你地理資訊位置的改變等等,總之服務總是藏在背景。
下面,我們看看如何建立,使用service
首先定義一個類,繼承 android.app.Service,並且重寫onCreate,onDestroy,onStartCommand三個方法
public class MyService extends Service { @Override public void onCreate() { Log.i("shxtapp","建立服務"); } @Override public void onDestroy() { Log.i("shxtapp","停止服務"); } @Override public int onStartCommand(Intent intent, int flags, int startId) { Log.i("shxtapp","啟動服務"); return super.onStartCommand(intent, flags, startId); }}
然後再
在AndroidManifest.xml中註冊,位置同Activity
<service android:name=".MyService"></service>
然後自需要啟動服務之前,建立一個Intent,指向這個Service
intent = new Intent(this, MyService.class);conn = new MyServiceConn();
在需要啟動服務的時候
startService(intent);
在需要結束服務的時候
stopService(intent);
在onStartCommand方法中的代碼,就是服務要做的工作,服務一般不會單獨存在,一般都和廣播共存,當接收到指定的廣播,調用Service服務來做相應的處理。
服務還有另外一種使用方法,我們下一章再介紹,再見!
Android 建立服務(一)