Android开机向导定制(2)开机向导配置

发布于:2025-05-28 ⋅ 阅读:(22) ⋅ 点赞:(0)

先贴lineage_wizard_script_user.xml的代码:

<WizardScript xmlns:wizard="http://schemas.android.com/apk/res/com.google.android.setupwizard"
              wizard:firstAction="welcome">

     <WizardAction wizard:uri="intent:#Intent;action=org.lineageos.setupwizard.LINEAGE_WELCOME;end" id="welcome">
         <result wizard:action="locale"/>
     </WizardAction>

     <WizardAction wizard:uri="intent:#Intent;action=org.lineageos.setupwizard.LINEAGE_LOCALE;end" id="locale">
         <result wizard:action="location_settings" />
     </WizardAction>

     <WizardAction wizard:uri="intent:#Intent;action=org.lineageos.setupwizard.LINEAGE_LOCATION_SETTINGS;end" id="location_settings">
          <result wizard:action="biometric_settings"/>
     </WizardAction>

     <WizardAction wizard:uri="intent:#Intent;action=org.lineageos.setupwizard.LINEAGE_BIOMETRIC_SETTINGS;end" id="biometric_settings">
          <result wizard:action="lockscreen_settings"/>
     </WizardAction>
     <WizardAction wizard:uri="intent:#Intent;action=org.lineageos.setupwizard.LINEAGE_LOCKSCREEN_SETTINGS;end" id="lockscreen_settings">
         <result wizard:action="restore"/>
     </WizardAction>

     <WizardAction wizard:uri="intent:#Intent;action=org.lineageos.setupwizard.LINEAGE_RESTORE_BACKUP;end" id="restore">
         <result wizard:action="finish"/>
     </WizardAction>

    <WizardAction wizard:uri="intent:#Intent;action=org.lineageos.setupwizard.LINEAGE_SETUP_COMPLETE;end" id="finish">
        <result wizard:action="exit" />
    </WizardAction>
    <WizardAction wizard:uri="intent:#Intent;action=org.lineageos.setupwizard.EXIT;end" id="exit" />

</WizardScript>

在SetupWizardActivity后,正式按WizardScript启动配置向导,wizard:firstAction="welcome",指定第一个要运行的配置向导id,查找WizardAction配置,id="welcome"的intent action是org.lineageos.setupwizard.LINEAGE_WELCOME,打开AndroidManifest.xml,看这个配置:

<activity android:name=".WelcomeActivity"
                  android:label="@string/activity_label_empty"
                  android:excludeFromRecents="true"
                  android:configChanges="mcc|mnc"
                  android:immersive="true"
                  android:exported="false"
                  android:windowSoftInputMode="stateAlwaysHidden">
            <intent-filter>
                <action android:name="org.lineageos.setupwizard.LINEAGE_WELCOME" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
 </activity>

看到的是启动的WelcomeActivity。

<result wizard:action="locale"/>指向下一个配置向导,依次类推,一直到<result wizard:action="exit" />,标志配置结束,进入系统。

  如果想省去卡机向导的麻烦,直接将wizard:firstAction="welcome",改成wizard:firstAction="exit"