public final class SystemServer {
public static void main(String[] args) {
new SystemServer().run();
}
private void run() {
mSystemServiceManager = new SystemServiceManager(mSystemContext);
mSystemServiceManager.startService(NotificationManagerService.class);
}
}
NotificationManagerService启动(onStart方法被调用)
public class SystemServiceManager {
public SystemService startService(String className) {
1. 反射创建NotificationManagerService对象
2. 调用NotificationManagerService#onStart()方法
}
}
NotificationManagerService#onStart()初始化
public class NotificationManagerService extends SystemService {
private final IBinder mService = new INotificationManager.Stub() {}
@Override
public void onStart() {
1. 公布mService,添加到ServiceManager
}
}