Android 定制Google SetupWizard

Android 定制Google SetupWizard

google setupwizard(开机向导) 是可以定制,我们可以替换掉里面的页面,也可以新添加页面,也可以修改原有页面的部分资源。

修改方法有两种:

1.利用Runntime Resource Overlay(RRO)机制来替换setupwizard里面的资源
2.实现指定的BroadcastReceiver,新增页面也能在该应用中实现

下图为修改过和添加的页面:

修改过背景的欢迎页面

添加的页面

google 原先页面

下面看如何修改:

google SetupWizard 是通过res/xml/ 目录下的 wizard_script.xml (有多个配置文件)来加载页面和跳转的而两种修改方式都是通过修改wizard_script 来实现的
下面是wizard_script 的一个脚本片段是一个sim missing page

 <WizardAction wizard:uri="intent:#Intent;action=com.android.setupwizard.SIM_MISSING;end" id="sim_missing">
        <result wizard:action="carrier_setup" />
  </WizardAction>
id 是定义了当前页面的表示 当其他页面要跳到此页面是就通过该id
result 是指此页面后要跳的页面id

接下来我们来追加自己的页面

    <!--添加页-->
   <WizardAction
        id="nuu_setup"  
        wizard:uri="intent:#Intent;action=action.NUU_SUW;end">
        <result wizard:action="sim_missing" />
    </WizardAction>
    <!---->
    <WizardAction
        id="sim_missing"
        wizard:uri="intent:#Intent;action=com.android.setupwizard.SIM_MISSING;end">
        <result wizard:action="carrier_setup" />
    </WizardAction>

我们将重新修改后的文件放到我们的apk的目录下 直接放到对应的目录下就可以了
也可以通过:

    <string name="wizard_script_uri">android.resource://package name/xml/wizard_script</string>

来指定脚本指向

下面都说下两种方式:
第一:通过overlay方式 (关于对RRO不懂可另行搜索)
目录结构:
这里写图片描述

manifest的内容如下:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.google.android.setupwizard.overlay">

    <overlay
        android:priority="1"
        android:targetPackage="com.google.android.setupwizard" />
</manifest>

strings.xml 是重新定位脚本的位置

<resources>
    <string name="wizard_script_uri">android.resource://com.google.android.setupwizard.overlay/raw/wizard_script</string>
</resources>

第二种方式:
通过实现:

扫描二维码关注公众号,回复: 4479008 查看本文章
   <receiver android:name=".receiver.PartnerReceiver">
            <intent-filter>
                <action android:name="com.android.setupwizard.action.PARTNER_CUSTOMIZATION" />
            </intent-filter>
        </receiver>

PartnerReceiver是不需要什么内容 只用于google查找
修改方式一样
这里写图片描述

猜你喜欢

转载自blog.csdn.net/lmjssjj/article/details/80103971