Android Framework学习笔记 -- 在framework添加system service
2017-11-19 11:21
513 查看
这是在android 6.0下的实现,其他版本可能有改动
在Context.java添加服务名称
//--->frameworks/base/core/java/android/content/Context.java public static final String A_SERVICE = "a"; @StringDef { ... A_SERVICE }
在ServiceServicer注册服务
//--->frameworks/base/services/java/com/android/server/SystemServer.java private void startOtherServices() { ... ServiceManager.addService("AService", new AService); ... }
在ContextImpl.java添加获取服务管理接口
//--->frameworks/base/core/java/android/app/ContextImpl.java static { .... registerService(Context.A_SERVICE,AManager.class, new CachedServiceFetcher<AManager>() { @Override public AManager createService(ContextImpl ctx) { return new AManager(ctx); }}); }
Service的aidl
interface IAExService { }
Service 本体
public class AService extends IAService.Stub { }
Manager
public class AManager { public AManager(Context context) { } static public IAService getService() { IBinder b = ServiceManager.getService("notification"); return IAService.Stub.asInterface(b); } }
相关文章推荐
- Android Framework学习笔记 -- 在android源码添加项目的正确办法
- [android](学习笔记6)为应用程序添加对话框(1)
- Android(java)学习笔记251:ContentProvider使用之添加数据到联系人(掌握)
- Android(java)学习笔记160:Framework运行环境之 Android进程产生过程
- Android OpenGL ES学习笔记之添加颜色
- [android](学习笔记6)为应用程序添加对话框(2)
- Android Fragment学习笔记(二)----Fragment界面添加和管理
- Android OpenGL ES学习笔记之添加纹理
- 1.2_Android Training 学习笔记_添加App Bar
- Android学习摘记——添加第三方开源控件(PullToRefresh例子笔记)
- Android Framework学习笔记 -- Surface的绘制过程
- 【学习笔记】Android给数字添加背景
- android 从顶层到底层 学习笔记--- framework架构
- Android OpenGL ES学习笔记之材质概念和添加光照
- Android Fragment学习笔记(二)----Fragment界面添加和管理
- lua学习笔记 2 android调用Lua。Lua脚本中实现添加Button,并为Button增加Listener
- 【学习笔记】Android 动态添加控件 getlayoutparams 为空的问题
- android如何修改dex文件添加非法指令 9efa (学习笔记)
- Android OpenGL ES学习笔记之材质概念和添加光照
- Android Fragment学习笔记(二)----Fragment界面添加和管理