[GMS] 如何客制化GMS开机向导

[GMS] 如何客制化GMS开机向导

最近项目中有个任务,要在gms中的谷歌开机向导中加入客制化页面。这里为大家介绍下定制谷歌开机向导的方法。

没有源码,如何修改apk? 答案是—Runtime Resource Overlay(RRO,运行时资源替换)。这里不做详细介绍,有兴趣的同学可以去网上搜索具体的使用方法。我们只要知道这个机制可以帮助我们在没有源码的情况下修改apk就行了。
网上好多说了怎么实现RRO, 可以参考这位老哥的博客
https://blog.csdn.net/u012824529/article/details/90109914
其实在GMS包中已经有示例代码,就是vendor/google/apps/GmsSampleIntegration,我们直接修改这个apk就好,或者自己新建一个都行
第一步:新建一个activity,可以用adb shell am start -a action启动就好,我是直接用的settings里面的页面,这个activity就和正常的一样,没啥特殊的
第二步:配置wizard_script.xml文件,GmsSampleIntegration里面有现成的,直接修改

<WizardAction id="unified_restore_flow"
  wizard:script="android.resource://com.google.android.gmsintegration/raw/wizard_script_unified_restore_flow">
    <result wizard:action="hct_suw_nav" />
</WizardAction>
       <WizardAction id="hct_suw_nav"
    wizard:uri="intent:#Intent;action=android.settings.HctSetupWizardNavigation;end">
    <result  wizard:action="show_privacy_policy" />
</WizardAction>

搜索wizard:action=“oem_post_setup”,都替换成你自己的id wizard:action=“hct_suw_nav”。
这样就会告诉开机向导页面的前后顺序
第三步:最重要的一步,好多教程到这一步就结束了,我操,但是里面的跳过,和下一步怎么实现的都没有说,甚是坑
其实自定义跳转是有现成的接口的,可以获取wizard_script.xml定义的下一个intent,废话不说,直接上代码

public void onNext(int requestCode) {
    int resultCode =  Activity.RESULT_OK;
    Intent intent = WizardManagerHelper.getNextIntent(getIntent(), resultCode);
    try {
        startActivityForResult(intent, requestCode);
        //finish(); 千万不要finish,不然开机向导页面没法滑回上一页面
    } catch (ActivityNotFoundException e) {
        Log.e(TAG, e.getMessage());
    }
}

然后在"跳过""下一步"的点击事件调用

finish.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        onNext(Activity.RESULT_OK);
    }
});

需要注意的是"跳过"是肯定要调到下一页面的,也就是可以直接调用,"下一步"需要做自己配置的话,就完成后再去调用即可

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GMS指的是Google Mobile Services(谷歌移动服务),它是谷歌为安卓设备开发的一套应用和服务。GMS开机向导则是指在我们使用新的安卓设备时,首次开机时系统会出现的向导页面,以帮助我们设置和配置设备。 在GMS开机向导的一个重要步骤就是连接WiFi。连接WiFi可以使我们的设备接入互联网,享受更多的功能和服务。具体的步骤如下: 1. 打开设备,进入GMS开机向导页面。 2. 在向导页面中,我们会看到一个WiFi连接的选项。点击该选项进入WiFi设置界面。 3. 在WiFi设置界面中,设备会自动搜索周围的WiFi网络。我们需要在搜索结果中找到并点击我们想要连接的WiFi网络名称。 4. 如果这个WiFi网络是受密码保护的,设备会要求我们输入密码。输入正确的密码后,点击连接按钮。 5. 设备会尝试连接所选的WiFi网络。如果连接成功,我们可以继续进行下一步设置;如果连接失败,设备会提示错误信息,并要求我们重新输入密码或选择其他网络进行连接。 6. 如果在周围没有找到我们想要连接的WiFi网络,我们可以点击手动连接选项,在弹出的界面中手动输入WiFi网络的名称和密码,然后点击连接按钮进行连接。 通过以上步骤,我们可以成功连接WiFi网络,并在GMS开机向导中继续设置和配置我们的设备。需要注意的是,在连接WiFi时,我们应该选择信号较强、可靠的WiFi网络,以确保设备的稳定连接和用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值