1、在frameworks/base/core/java/android/app/SystemServiceRegistry.java中的静态代码块中用如下形式注册系统服务,
registerService(Context.DISPLAY_SERVICE, DisplayManager.class,
new CachedServiceFetcher() {
@Override
public DisplayManager createService(ContextImpl ctx) {
return new DisplayManager(ctx.getOuterContext());
}});
2、在frameworks/base/core/java/android/content/Context.java
中@StringDef({
DISPLAY_SERVICE
});添加服务的名字
其次添加public static final String DISPLAY_SERVICE = “display”;常量
3、在framework\base\services\java\com\android\server\SystemServer.java中
mDisplayManagerService = mSystemServiceManager.startService(DisplayManagerService.class);启动服务
然后就可以通过
DisplayManager mDisplayManager = (DisplayManager) mContext
.getSystemService(Context.DISPLAY_SERVICE);
的形式获取到系统服务对象了。