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) 16 소개

    안드로이드 16이 드디어 출시되었어요!  🎉 이번 포스팅에서는 안드로이드 16의 다양한 기능과 장점에 대해 자세히 알아보도록 할게요.  1. 안드로이드 16 소개 안드로이드 16은 구글의 모바일 운영 체제인 안드로이드의 최신 버전으로, 많은 ...