关于在系统源代码中添加自己的服务

关于在系统源代码中添加自己的服务:添加之后跟系统服务一样也能通过getSystemService(Context.MCU_SERVICE)这样的方式得到实例对象.首先在Context.java类中定义此服务的标识字符串如(public static final String MCU_SERVICE = "mcu"),然后到
SystemServer.java类中的startOtherServices()方法中去将服务add进去,add进去才能在系统起来时启动该服务代码如
(ServiceManager.addService(Context.MCU_SERVICE, rtmcu););接着我们需要到android\frameworks\base\目录下去创建.aidl文件,其实这个文件最好自己用个文件夹装起来,以免混淆,不新建文件夹也可以,android\frameworks\base\目录下随便哪个目录下都可以,因为到时在Android.mk文件中添加编译模块时写的是相对路径,最好是在android\frameworks\base\目录下的子目录,因为Android.mk文件就在android\frameworks\base\这个目录,方便在Android.mk文件中添加编译该aidl文件的代码;再接着我们在android\frameworks\base\子目录创建自己的Service.java类,最好跟.aidl文件在同一个目录下,这个类必须继承[aidl文件名.stub],如果有必要的话实现Runnable接口;

猜你喜欢

转载自blog.csdn.net/wzh048503/article/details/79786584
今日推荐