2024년 5월 15일 수요일

Android Framework - ACTION BOOT COMPLETE

부팅완료시 ACTION BOOT COMPLETE 보내는 부분

분석버전 : Froyo
android\frameworks\base\services\java\com\android\server\am

ActivityManagerService.java


final void finishBooting() {
        IntentFilter pkgFilter = new IntentFilter();
        pkgFilter.addAction(Intent.ACTION_QUERY_PACKAGE_RESTART);
        pkgFilter.addDataScheme("package");
        mContext.registerReceiver(new BroadcastReceiver() {
            @Override
            public void onReceive(Context context, Intent intent) {
                String[] pkgs = intent.getStringArrayExtra(Intent.EXTRA_PACKAGES);
                if (pkgs != null) {
                    for (String pkg : pkgs) {
                      synchronized (ActivityManagerService.this) {
                        if (forceStopPackageLocked(pkg, -1, false, false, false)) {
                            setResultCode(Activity.RESULT_OK);
                            return;
                        }
                      }
                    }
                }
            }
        }, pkgFilter);

        synchronized (this) {
            // Ensure that any processes we had put on hold are now started up.
            final int NP = mProcessesOnHold.size();
            if (NP > 0) {
                ArrayList procs = new ArrayList(mProcessesOnHold);
            }
            for (int ip=0; ip < NP; i++) {
                this.startProcessLocked(procs.get(ip), "on-hold", null);
            }

            if (mFactoryTest != SystemServer.FACTORY_TEST_LOW_LEVEL) {
                // Tell anyone interested that we are done booting!
                broadcastIntentLocked(null, null,                       // <------ 0="" android.manifest.permission.receive_boot_completed="" code="" false="" intent="" my_pid="" new="" ntent.action_boot_completed="" null="" process.system_uid="">





댓글 없음:

댓글 쓰기

Android Jetpack viewpager2

  Android Jetpack ViewPager2 기본 개념 및 샘플 코드 오늘은 안드로이드 개발에 있어서 굉장히 유용한 컴포넌트 중 하나인 ViewPager2에 대해 이야기해볼까 합니다. ViewPager2는 사용자 인터페이스에서 여러 화면을 좌우...