在Android设备第一次上电的时候会进行一个国家和语言及搜台的选择,其具体的实现都是在Provision.apk 中实现的,对于Provision.apk 这个apk 应用大家可能比较陌生,它位于Android目录的packages\apps/下,它的主要作用是作为开机引导用户进行一些基本设置.在原生的 android 系统中,provision非常的简单,只有一个空白的 activity,这个主要就是留给 厂商自己定制开机向导(像 OPPO,VIVO,小米等厂商会让你登陆和注册其账号帐号,连接WiFi等),因此我们得理解Android的设计意图而进行定制.,它只会在升级和恢复出厂设置的时候被调用。
我们先看AndroidManifest.xml。就一个DefaultActivity,DefaultActivity是原生系统Provision中唯一的activity;配置了category.HOME属性,category.HOME是桌面程序的标记(Launcher程序都会配置);priority=1,配置优先级,这样就会在系统的Launcher之前启动.
Provision中的关键代码:
这里代码主要设置DEVICE_PROVISIONED标记同时禁止本身Activity组件的功能
<