Android的兩種服務啟動方式

2021-09-19 20:45:22 字數 1223 閱讀 2676

在android之中service服務方式分為兩種:

1.context.startservice( )啟動模式。

模式流程:oncreate( )->onstartcommand( ) ->ondestroy( )

建立-》start呼叫-》銷毀

特點:啟動service( )後,service會一直執行下去,只有外部呼叫了stopservice( )方法時才會停止銷毀,stopservice( )方法相當於直接銷毀,如果呼叫者選擇直接退出而不進行stopservice( )方法處理,service還會繼續執行下去,呼叫者與服務沒影響,如果要再次呼叫只觸發 onstartcommand( )方法

使用方式:

首先得定義類繼承service和在manifest.xml檔案中配置該service,之後在使用context的startservice(intent)方法啟動該service,當你決定不再使用時可呼叫stopservice(intent)方法停止該服務

2.context.bindservice( )啟動模式。

模式流程:oncreate( )->onbind( )->onunbind( )->ondestroy( )

建立-》bind繫結-》unbind解除繫結-》銷毀

特點:啟動service( )後,只執行於oncreate( )中,呼叫者會與service繫結一起,形成client(呼叫者)-service(服務)模式,用onbind( )方法將呼叫者-服務繫結,如果呼叫者退出則會在之前用onunbind( )方法解除繫結,先解除後銷毀,如果要再次呼叫的話不會繼續onbind( )繫結下去

使用方式:

首先得定義類繼承service和在manifest.xml檔案中配置該service,於類中使用context的bindservice(intent, serviceconnection, int)方法啟動該service,當不再使用時,呼叫unbindservice(serviceconnection)方法停止該服務

這兩種方法都可以呼叫服務中的oncreate方法,相同之處在於都有執行oncreate( )方法與ondestroy( )方法,都會建立重啟服務,不同之處在於使用場合不同,context.startservice( )啟動模式會一直執行下去,沒和呼叫者相關聯,即使呼叫者退出了,伺服器還會繼續執行下去,而context.bindservice( )啟動模式則會將呼叫者與服務關聯下去,呼叫者退出則伺服器就會關閉,分別用於不同的服務處理

最後,祝大家學習工作順利,心想事成!

fabric ca server的兩種啟動方式

一 本地啟動 fabric ca server start b admin adminpw b選項為管理員提供註冊id和密碼 如果未使用 ldap.enabled 設定啟用ldap,則必須執行此操作。在本地目錄中會建立名為fabric ca server config.yaml的預設配置檔案,該檔案...

Activity 啟動Service兩種方式與區別

activity 啟動service兩種方式 startservice bindservice startservice intent 1.定義乙個類繼承service 2.在manifest.xml檔案中配置該service 3.使用context的startservice intent 方法啟動...

Android 生成keystore,兩種方式

一 eclipse 中生成android keystore 建立任意乙個android專案 例如 antforandroid 選擇 create new keystore 並且儲存在乙個目錄下面 本例子儲存在專案跟目錄下 輸入密碼,然後next 填寫一些資訊,填寫的alias 和 密碼不要忘記了 這...