第一部分:init.rc
關於init.rc的作用在這裏進行簡單描述,這個init.rc文件是系統啓動時init進程要讀取的一個重要的腳本,它裏面是一些系統中比較重要的service的註冊、文件路徑的創建等等:比如:adbd 服務就是在這裏啓動的。
在文件中加入如下代碼段:
service matsrv /system/bin/matsrv normal
disabled
on property:sys.mat.mode=on
start matsrv
解釋:
1、service 用來註冊matsrv服務,/system/bin/matsrv 是程序的路徑,normal是matsrv的參數,此參數是要傳給matsrv的main函數的,和service沒有半點關係。
2、on property部分是設定start matsrv的條件,條件滿足纔可以開啓matsrv服務
第二部分:如何動態的控制”matsrv服務“的開啓和關閉
在上層java程序中可以使用下面方法開啓和關閉服務:
開啓: (比如可以在onCreat中進行開啓)
SystemProperties.set("sys.mat.mode","on");
SystemProperties.set("ctl.start","matsrv");
關閉: (比如可以在button控件的onClick中進行關閉)
SystemProperties.set("ctl.stop","matsrv");
SystemProperties.set("sys.mat.mode","off");
當然在framework中應該也同樣可以使用相應的函數實現對屬性的讀寫控制。