To start the service declared in the init.rc file, I think you should change the system property "ctl.start" with the following commands:
In c file:
property_set("ctl.start", "<service_name>");
In java:
SystemProperties.set("ctl.start", "<service_name>");
This means that your activity has system permissions (in the manifest):
android:sharedUserId="android.uid.system"
and signed by your system key (or install the platform in Android.mk)
As you can guess, to stop the service, use the following commands:
property_set("ctl.stop", "<service_name>");
or
SystemProperties.set("ctl.stop", "<service_name>");
source share