繼承關系
為福安等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及福安網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為成都網(wǎng)站建設、成都網(wǎng)站制作、福安網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!Context -> ContextWrapper -> Service 位于 android.app 包中
Service的生命周期
Service啟動
1.StartService 同一個Service Start多次,onCreate()執(zhí)行一次,onStartCommand()執(zhí)行多次
2.BindService 同一個Service bind多次, onCreate()執(zhí)行一次,onBind()也執(zhí)行一次
注意:
1.啟動也分隱式和顯式.但考慮到安全等因數(shù),如果不是也許需求 一般我們使用顯示的調(diào)用方式。
2.onStartCommand(Intent intent, int flags, int startId)
onStartCommand有4種返回值
START_STICKY:如果service進程被kill掉,保留service的狀態(tài)為開始狀態(tài),但不保留遞送的intent對象。隨后系統(tǒng)會嘗試重新創(chuàng)建service,由于服務狀態(tài)為開始狀態(tài),所以創(chuàng)建服務后一定會調(diào)用onStartCommand(Intent,int,int)方法。如果在此期間沒有任何啟動命令被傳遞到service,那么參數(shù)Intent將為null。
START_NOT_STICKY:“非粘性的”。使用這個返回值時,如果在執(zhí)行完onStartCommand后,服務被異常kill掉,系統(tǒng)不會自動重啟該服務。
START_REDELIVER_INTENT:重傳Intent。使用這個返回值時,如果在執(zhí)行完onStartCommand后,服務被異常kill掉,系統(tǒng)會自動重啟該服務,并將Intent的值傳入。
START_STICKY_COMPATIBILITY:START_STICKY的兼容版本,但不保證服務被kill后一定能重啟。
3.BindService例代碼
Service部分
private BindServiceX myBinderServiceX=new BindServiceX();
public class BindServiceX extends Binder{
public BindService getBindService() {
return BindService.this;
}
}
@Override
public IBinder onBind(Intent arg0) {
// 此處返回自定義Binder
return myBinderServiceX;
}
組件調(diào)用部分(以Activity為例)
Intent intentBind = new Intent(AndroidServiceActivity.this, BindService.class);
bindService(intentBind,
new ServiceConnection() {
@Override
public void onServiceDisconnected(ComponentName name) {
}
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
//Service對外提供Bind
BindServiceX bindServiceX = (BindServiceX) service;
//通過bind提供的方法得到Service引用
BindService bindService = bindServiceX.getBindService();
//todo 接下來可以和Service通信了
}
};
, Context.BIND_AUTO_CREATE);
Service關閉
1.stopSelf();
2.stopSelfResult();
3.stopService()
注意:
1.同時使用 startService 與 bindService 要注意到,Service 的終止,需要unbindService與stopService同時調(diào)用(調(diào)用順序無所謂),才能終止 Service.
2.Service哪種方式啟動必須調(diào)用與之對應方法才會關閉Service。
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
本文標題:Android基礎(五)–Service生命周期及啟動方式-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://aaarwkj.com/article24/pgpce.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、電子商務、App設計、靜態(tài)網(wǎng)站、域名注冊、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容