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
}
}