91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android基礎(五) – Service生命周期及啟動方式

發布時間:2020-07-05 16:34:58 來源:網絡 閱讀:471 作者:lm8751 欄目:移動開發

繼承關系

Context -> ContextWrapper -> Service 位于 android.app 包中

Service的生命周期

Service啟動

1.StartService 同一個Service Start多次,onCreate()執行一次,onStartCommand()執行多次

2.BindService 同一個Service bind多次, onCreate()執行一次,onBind()也執行一次

注意:

1.啟動也分隱式和顯式.但考慮到安全等因數,如果不是也許需求 一般我們使用顯示的調用方式。

2.onStartCommand(Intent intent, int flags, int startId)

onStartCommand有4種返回值

START_STICKY:如果service進程被kill掉,保留service的狀態為開始狀態,但不保留遞送的intent對象。隨后系統會嘗試重新創建service,由于服務狀態為開始狀態,所以創建服務后一定會調用onStartCommand(Intent,int,int)方法。如果在此期間沒有任何啟動命令被傳遞到service,那么參數Intent將為null。

START_NOT_STICKY:“非粘性的”。使用這個返回值時,如果在執行完onStartCommand后,服務被異常kill掉,系統不會自動重啟該服務。

START_REDELIVER_INTENT:重傳Intent。使用這個返回值時,如果在執行完onStartCommand后,服務被異常kill掉,系統會自動重啟該服務,并將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;
}

組件調用部分(以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同時調用(調用順序無所謂),才能終止 Service.

2.Service哪種方式啟動必須調用與之對應方法才會關閉Service。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

古交市| 平原县| 铜鼓县| 饶阳县| 宁都县| 仙桃市| 乐平市| 青铜峡市| 航空| 福州市| 乌兰察布市| 读书| 军事| 蒙城县| 泸州市| 盖州市| 宁海县| 吉水县| 宁乡县| 谢通门县| 顺义区| 恭城| 普安县| 建平县| 长宁县| 宜都市| 万年县| 阜宁县| 贵港市| 简阳市| 同心县| 光山县| 奈曼旗| 开远市| 湖口县| 武定县| 交城县| 隆安县| 酉阳| 榆树市| 政和县|