啟動Android service並帶入參數


1. 加入service

事前init.rc加入service
service service_xx  /system/bin/xx
....
  disabled
  oneshot

2. 改使用權限

非system/root啟動service,需修改權限
要改system/core/init/property_service.c請參考下面這篇
設定ctl.start 屬性啟動init.rc 中service以及許可權問題


3. 啟動service

* 在shell使用
  setprop ctl.start "service_name:arg1 arg2 arg3..."

可參考
Android Service with dynamic arguments

* 在App中使用
  SystemProperties.set("ctl.start", "service_name:arg1 arg2 arg3...");



備註:參數功能在我手邊的裝置上(Android 7.0(含)以下版本)測試失敗

留言